-
Notifications
You must be signed in to change notification settings - Fork 4.1k
storage: use ClearMVCCRange when GC-ing multiple versions under range tombstones #84560
Copy link
Copy link
Closed
Labels
A-kv-replicationRelating to Raft, consensus, and coordination.Relating to Raft, consensus, and coordination.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
Description
When the whole range content is removed during GC we would issue point deletes for every value found. This is wasteful as we may use ClearMVCCRange and related operations when doing so.
To do this, we should change GC to issue new types RangeDeletion requests that would put pebble range tombstones instead of individual deletes.
Note that new request field or request type is needed to ensure we could put proper latches as it would be possible to remove newer data. And this wouldn't not be compatible with latchless GC, but that is fine as ranges subject to complete deletion are unused and are not supposed to get recent writes.
Jira issue: CRDB-17736
Epic CRDB-20465
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-kv-replicationRelating to Raft, consensus, and coordination.Relating to Raft, consensus, and coordination.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)