Module sstable

Source
Expand description

Hummock state store’s SST builder, format and iterator

Re-exports§

pub use builder::*;
pub use writer::*;

Modules§

backward_sstable_iterator πŸ”’
block πŸ”’
block_iterator πŸ”’
bloom πŸ”’
builder
filter πŸ”’
forward_sstable_iterator πŸ”’
multi_builder
sstable_object_id_manager πŸ”’
utils πŸ”’
writer
xor_filter πŸ”’

Structs§

BackwardSstableIterator
Iterates backwards on a sstable.
Block
BlockBuilder
BlockBuilder encodes and appends block to a buffer.
BlockBuilderOptions
BlockIterator
BlockIterator is used to read kv pairs in a block.
BlockMeta
BlockedXor16FilterBuilder
BloomFilterBuilder
KeyPrefix
KeyPrefix contains info for prefix compression.
MonotonicDeleteEvent
Assume that watermark1 is 5, watermark2 is 7, watermark3 is 11, delete ranges { [0, wmk1) in epoch1, [wmk1, wmk2) in epoch2, [wmk2, wmk3) in epoch3 } can be transformed into events below: { <0, +epoch1> <wmk1, -epoch1> <wmk1, +epoch2> <wmk2, -epoch2> <wmk2, +epoch3> <wmk3, -epoch3> } Then we can get monotonic events (they are in order by user key) as below: { <0, epoch1>, <wmk1, epoch2>, <wmk2, epoch3>, <wmk3, +inf> } which means that delete range of [0, wmk1) is epoch1, delete range of [wmk1, wmk2) if epoch2, etc. In this example, at the event key wmk1 (5), delete range changes from epoch1 to epoch2, thus the new epoch is epoch2. epoch2 will be used from the event key wmk1 (5) and till the next event key wmk2 (7) (not inclusive). If there is no range deletes between current event key and next event key, new_epoch will be HummockEpoch::MAX.
RestartPoint
SerdeSstable πŸ”’
SharedComapctorObjectIdManager
SharedComapctorObjectIdManager is used to get output sst id for serverless compaction.
Sstable
Sstable is a handle for accessing SST.
SstableIterator
Iterates on a sstable.
SstableIteratorReadOptions
SstableMeta
SstableObjectIdManager
Caches SST object ids fetched from meta.
Xor8FilterBuilder
Xor16FilterBuilder
XorFilterReader

Enums§

CompressionAlgorithm
LenType

Constants§

DEFAULT_BLOCK_SIZE
DEFAULT_ENTRY_SIZE
DEFAULT_RESTART_INTERVAL
MAGIC πŸ”’
OLD_VERSION πŸ”’
VERSION πŸ”’

Traits§

FilterBuilder
GetObjectId
SstableIteratorType

Type Aliases§

SstableObjectIdManagerRef