cockroachdb / cockroachdb/cockroach

storage: add support for range key prefix/suffix rewriting

Open
#122,146 0 comments 0 reactions 0 assignees View on GitHub
A-storage C-enhancement T-storage
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

To support online restore with incremental backups, we'll need to be able to ingest incremental backup sstables containing range keys (MVCC delete ranges). Today there's no support for prefix/suffix rewriting of range keys.

We should consider performing this translation upfront on block load with a block transform. Range keys are rare, and due to defragmentation are often read alongside adjacent range keys.

(Note: consider whether we can just commit the MVCC delete ranges in a batch instead; can we avoid r-amp blow up from overlapping with the memtable?)

Jira issue: CRDB-37729

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by tracing online restore and incremental-backup SSTable ingestion, then inspect range-key handling and the proposed block-transform path. Resolve whether prefix/suffix rewriting belongs on block load or whether committing MVCC delete ranges in a batch avoids the r-amp concern; done means incremental range-key SSTables can be ingested correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.