-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
82799: storage: add range key support for SST iterators and writers r=nicktrav a=erikgrinaker This patch adds `NewPebbleSSTIterator()`, which constructs an MVCC iterator for SSTs. Unlike the existing `sstIterator`, it supports range keys and merged iteration across multiple SSTs. It is based on a new `pebble.NewExternalIter()` API for SST iteration, and reuses `pebbleIterator` for the CRDB logic. Value verification has been split out to a separate, general `VerifyingMVCCIterator`. This iterator currently has significantly worse performance than the existing SST iterator (as much as 100%), so it is not used yet outside of tests. This will be optimized later. The patch also adds support for writing range keys in `SSTWriter`. This is only enabled when the SST format is `TableFormatPebblev2` or newer, which is only the case once the cluster version reaches `EnablePebbleFormatVersionRangeKeys`. Resolves #82586. Release note: None Co-authored-by: Erik Grinaker <[email protected]>
- Loading branch information
Showing
12 changed files
with
1,150 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.