-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Disk buffer bugs tracking issue #7425
Comments
Residual ldb filesBug where a large number of ldb files are never removed and just keep accumulating has been further aggravated by #7264 PR. With that PR the following config reproduces the issue
The main factor is the interval, that is if total emitted bytes is less than 1MB when the compaction happens there is a chance that it will leave behind a ldb file. The less bytes emitted, greater the chance. The above config leaves every ldb file while emitting 42KB in 1min On our side, we can fix it by limiting compaction to happen only if we have 2MB or more of uncompacted bytes. We could go for a lower bound but, just to be safe, 2MB is the max size of ldb files and there is a chance that the bug happens for sizes greater than 1MB but it requires ever so more time to materialize. |
Is this right? I think the max size of the ldb files is actually 4 MB. Or at least that's what I've seen. |
Hmm, then it's more dynamic than I thought. So let's go with 4MB. |
Fixes for every issue have been merged and relevant users notified so I'll be closing this. Subsequent follow ups on the bugs/fixes can be done in individual issues. |
Tracking issue for various bug issues related to disk buffer, their causes, and fixes.
Issues (work in progress):
Many ldb files (probably low I/O ops) (#document) (separate uncompact compaction could help) (fragmentation? it would be a self perpetuating loop) (enhancement(buffers): Maintain working size of disk buffer #7264 aggravates it) (fix fix(buffers): Min uncompact size #7614)
High idle cpu utilization (Periodically trigger disk buffer compaction #6597 could help) (fix fix(buffers): Batch delete #7615)
Retaining ldb files, unbounded memory use (fix Periodically trigger disk buffer compaction #6597) (fix fix(buffers): Min uncompact size #7614)
Large initial load (
fix Compute disk bufferunacceptable increase of startup time)(fix chore: Use a forked version of leveldb-sys #7522)initial_size
with Jean's method #7408Blocked sink (Periodically trigger disk buffer compaction #6597 could help) (fixes made during move to future 0.3 have maybe fixed it) (slow disk) (partial fix fix(buffers): Batch delete #7615)
Todo
Compute disk bufferwasn't acceptableinitial_size
with Jean's method #7408disk
buffer behavior #7679* It will use memory proportional to disk size.
*
It can be slightly larger on disk than the configuredmax_size
.*
Clarify use case.* Mention low disk performance related issues.
The text was updated successfully, but these errors were encountered: