Skip to content

Allow dropping tombstones as long as destination level has no successor #125

@marvin-j97

Description

@marvin-j97

Currently, tombstones can only be dropped when merging into the last level.
The problem is that the last level is currently pretty much never reached, so tombstones will build up in L3, L4, L5, ...

The only reason tombstones cannot be dropped is that they could shadow a value in a deeper level, so dropping it would resurrect an older value.
However, if there are no segments below the destination level, dropping a tombstone is safe.

Only applies to leveled compaction (also possible for Tiered, but need to check dest_level, because there may be overlapping runs). The compaction strategy needs to return whether the compactor is allowed to drop tombstones (always true for all strategies when dest_level=Lmax).

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions