-
Notifications
You must be signed in to change notification settings - Fork 995
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the ability to disable client heartbeat #3329
Comments
@aofei there is a |
Hi @solracsf! And yes, I'm aware of the
|
True Lines 57 to 59 in c123b05
Indeed, for SQLite and BadgerDB 0 should be allowed.
|
Fixed by #3471 |
There is still some background updates with low frequency per volume, e.g. Line 424 in f1c475d
|
Thanks for the fix! ❤️
I'd take that as acceptable, given that I'm going to close this issue. |
What would you like to be added:
Please consider making
juicefs mount --heartbeat 0 ...
to disable the client heartbeat feature.Why is this needed:
My use case:
The files in
/data
rarely change, but I still expect JuiceFS to reflect to those two databases when it does, and Litestream to stream WALs to my S3 bucket in time. They actually do work pretty well together. Until I got my S3 bill.Again, the files in
/data
are rarely change, so I'd like JuiceFS to be quiet until it does, which means it shouldn't be doing any writes to those two databases. But here comes the problem. It turns out that there is a heartbeat feature for the client here. The client always send heartbeats to meta storage at regular intervals (which defaults to 12s, and fixed in the [1, 60] interval). This means that by default every 12s Litestream will stream two WALs to my S3 bucket (I don't know why two). In other words, two S3 class A operations every 12s, or 432,000 class A operations every month, for nothing. And I have hundreds of the above setups currently active...I know that for network meta storage, such as Redis, the client heartbeat feature is indispensable. But when it comes to SQLite meta storage, I believe this feature is unnecessary, given that there is only local disk I/O.
So I think it's reasonable to add the ability to disable the client heartbeat.
The text was updated successfully, but these errors were encountered: