Skip to content

storage: use ClearMVCCRange when GC-ing multiple versions under range tombstones #84560

@aliher1911

Description

@aliher1911

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

Metadata

Metadata

Assignees

Labels

A-kv-replicationRelating to Raft, consensus, and coordination.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions