You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All keys within an ingested sstable receive the same sequence number. This ensures that a range deletion in an ingested sstable does not delete any point keys within the same sstable. When a table containing range deletions is ingested into L6, those range deletions are necessarily ineffectual. There are no keys lower in the LSM for them to delete. When the table cache is opening iterators into an sstable, it knows the level of the sstable (from the perspective of the caller's manifest.Version). When the table is an ingested sstable and the caller indicates the sstable is in L6, we can return a nil rangedel iterator.
In the context of CockroachDB, this will mean that the range deletions contained within snapshot-ingested sstables containing user MVCC data will never be read once the ingestion has completed, because these sstables are installed directly into L6 after excise.
This avoids unnecessarily:
performing I/O
holding these blocks in the block cache
CPU overhead of checking applicability of range deletions during iteration
The text was updated successfully, but these errors were encountered:
A shower thought:
All keys within an ingested sstable receive the same sequence number. This ensures that a range deletion in an ingested sstable does not delete any point keys within the same sstable. When a table containing range deletions is ingested into L6, those range deletions are necessarily ineffectual. There are no keys lower in the LSM for them to delete. When the table cache is opening iterators into an sstable, it knows the level of the sstable (from the perspective of the caller's
manifest.Version
). When the table is an ingested sstable and the caller indicates the sstable is in L6, we can return a nil rangedel iterator.In the context of CockroachDB, this will mean that the range deletions contained within snapshot-ingested sstables containing user MVCC data will never be read once the ingestion has completed, because these sstables are installed directly into L6 after excise.
This avoids unnecessarily:
The text was updated successfully, but these errors were encountered: