Expand description
Hummock state storeβs SST builder, format and iterator
Re-exportsΒ§
ModulesΒ§
- backward_
sstable_ πiterator - block π
- block_
iterator π - bloom π
- builder
- filter π
- forward_
sstable_ πiterator - multi_
builder - utils π
- writer
- xor_
filter π
StructsΒ§
- Backward
Sstable Iterator - Iterates backwards on a sstable.
- Block
- Block
Builder BlockBuilder
encodes and appends block to a buffer.- Block
Builder Options - Block
Iterator BlockIterator
is used to read kv pairs in a block.- Block
Meta - Blocked
Xor16 Filter Builder - Bloom
Filter Builder - KeyPrefix
KeyPrefix
contains info for prefix compression.- Monotonic
Delete Event - 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 thenew 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 beHummockEpoch::MAX
. - Restart
Point - Serde
Sstable π - Sstable
Sstable
is a handle for accessing SST.- Sstable
Iterator - Iterates on a sstable.
- Sstable
Iterator Read Options - Sstable
Meta - Xor8
Filter Builder - Xor16
Filter Builder - XorFilter
Reader
EnumsΒ§
ConstantsΒ§
- DEFAULT_
BLOCK_ SIZE - DEFAULT_
ENTRY_ SIZE - DEFAULT_
RESTART_ INTERVAL - MAGIC π
- OLD_
VERSION π - VERSION π