Skip to content

Backport "HBASE-30036 Skip redundant delete markers during flush and minor compaction (#7993)" to branch-3#8033

Merged
junegunn merged 1 commit intoapache:branch-3from
junegunn:HBASE-30036-branch-3
Apr 8, 2026
Merged

Backport "HBASE-30036 Skip redundant delete markers during flush and minor compaction (#7993)" to branch-3#8033
junegunn merged 1 commit intoapache:branch-3from
junegunn:HBASE-30036-branch-3

Conversation

@junegunn
Copy link
Copy Markdown
Member

@junegunn junegunn commented Apr 8, 2026

No description provided.

…action (apache#7993)

Add DeleteTracker.isRedundantDelete() to detect when a delete marker is
already covered by a previously tracked delete of equal or broader scope.
ScanDeleteTracker implements this for all four delete types:
- DeleteFamily/DeleteFamilyVersion: covered by a tracked DeleteFamily
- DeleteColumn/Delete: covered by a tracked DeleteFamily or DeleteColumn

MinorCompactionScanQueryMatcher calls this check before including a
delete marker, returning SEEK_NEXT_COL to skip past all remaining cells
covered by the previously tracked delete.

Compatible with KEEP_DELETED_CELLS. When set to TRUE, trackDelete() does
not populate the delete tracker, so isRedundantDelete() always returns
false and all markers are retained.

Signed-off-by: Charles Connell <cconnell@apache.org>
@junegunn junegunn added the backport This PR is a back port of some issue or issues already committed to master label Apr 8, 2026
@junegunn junegunn merged commit 7852997 into apache:branch-3 Apr 8, 2026
16 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a back port of some issue or issues already committed to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant