storage: use ClearMVCCRange when GC-ing multiple versions under range tombstones #84560
Labels
A-kv-replication
Relating to Raft, consensus, and coordination.
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
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
The text was updated successfully, but these errors were encountered: