Details
-
Improvement
-
Status: Triage Needed
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
All
-
None
Description
The nodetool command `garbagecollect` will run a single-sstable compaction for every sstable in a cf, while using other sstables on the side to allow for dropping tombstoned data. However, in doing so, it resets all LCS levels back to 0, causing a significant write amplification.
Fundamentally there's no reason why LCS levels have to be changed here, since these are single-sstable compactions. When the expected reduction in data set size is small (say, 10%) it may be preferable for sstables to remain in place instead of having to go through the entire compaction process again.