mirror of
https://github.com/versity/scoutfs.git
synced 2026-08-01 04:46:29 +00:00
345721c933f3188162107a8814cac71024e4b9ef
We limit the number of lower segments that a compaction will read. A sticky compaction happens when the upper segment overlaps more lower segments. The remaining items in the upper segment are written back to the upper level -- they're stuck. A future compaction will attempt to compact the remaining items with the next set of overlapping lower segments. Deletion items are rightly discarded as they're compacted to the lowest level -- at that point they have no more matching items in lower segments to destroy and are done. Deletion items were being dropped instead of being written back into the upper level of a sticky compaction. The test for discarding the deletion items only considered the lowest level of the compaction, not the level that the items were being written to. We need to be careful to preserve the deletion items in the case of compaction to the lowest level writing sticky items back to the upper segment. Signed-off-by: Zach Brown <zab@versity.com>
Description
No description provided
7 MiB
Languages
C
86.4%
Shell
9.9%
Roff
2.5%
TeX
0.8%
Makefile
0.4%