Reclaim ColumnFileBig that cannot be contained by any segment #5950
Labels
affects-6.4
component/storage
severity/major
type/enhancement
The issue or PR belongs to an enhancement.
Enhancement
Suppose we write a ColumnFileBig into the memtable of a segment without any delta:
Then physical split happens:
The ColumnFileBig is now referenced by both two segments. And,
The right segment may trigger a delta merge because the delta layer is big.
The left segment will not trigger a delta merge because the delta is still empty -- Its referenced CFBig is not contained in the segment.
As a result, the ColumnFileBig is kept being referenced and not recycled, until user manually triggers a DeltaMerge for all segments.
This happens when we ingest SSTs quickly (using a higher ingest concurrency), result in 25% space amplification in my experiment.
The text was updated successfully, but these errors were encountered: