db: consider biasing towards rewriting blob files with few references · Issue #4763 · cockroachdb/pebble · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the MaxBlobReferenceDepth heuristic drives the decision of whether or not a compaction should write values to new blob files. This heuristic doesn't take into account the possibility that writing new blob files may allow disk space reclamation. It only prioritizes restoring locality.
In the extreme case, imagine a compaction with 1 input sstable referencing 10KiB of a single 128 MiB blob file. If all the other values in the blob file are unreferenced, the blob file only remains because of the extant references that the compaction is rewriting. Even if the MaxBlobReferenceDepth heuristic wouldn't otherwise choose to write new blob files, reclaiming the ~128MiB is worth the small amount of additional write I/O from writing the 10KiB values to a new blob file.
Uh oh!
There was an error while loading. Please reload this page.
Currently the MaxBlobReferenceDepth heuristic drives the decision of whether or not a compaction should write values to new blob files. This heuristic doesn't take into account the possibility that writing new blob files may allow disk space reclamation. It only prioritizes restoring locality.
In the extreme case, imagine a compaction with 1 input sstable referencing 10KiB of a single 128 MiB blob file. If all the other values in the blob file are unreferenced, the blob file only remains because of the extant references that the compaction is rewriting. Even if the MaxBlobReferenceDepth heuristic wouldn't otherwise choose to write new blob files, reclaiming the ~128MiB is worth the small amount of additional write I/O from writing the 10KiB values to a new blob file.
Jira issue: PEBBLE-453
The text was updated successfully, but these errors were encountered: