Expand description
Fetching batches of data from persistβs backing store
StructsΒ§
- Batch
Fetcher - Capable of fetching
LeasedBatchPartwhile not holding any capabilities. - Batch
Fetcher πConfig - Decoded
Rows π - Decoded rows of a
FetchedPartand the cursor into them. - Encoded
Part π - A Blob object that has been fetched, but has no associated decoding logic.
- Encoded
Part πBatches - A hollow part decoded into normalized updates in batches of at most
batch_rowsrows. - Exchangeable
Batch Part - This represents the serde encoding for
LeasedBatchPart. We expose the struct itself (unlike other encodable structs) to attempt to provide stricter drop semantics onLeasedBatchPart, i.e.SerdeLeasedBatchPartis exchangeable (including over the network), whereLeasedBatchPartis not. - Fetch
Config π - Fetched
Blob - A Blob object that has been fetched, but not at all decoded.
- Fetched
Part - A Blob object that has been fetched, but not yet fully decoded.
- Lease
- This represents the lease of a seqno. Itβs generally paired with some external state, like a hollow part: holding this lease indicates that we may still want to fetch that part, and should hold back GC to keep it around.
- Leased
Batch Part - A token representing one fetch-able batch part.
- Part
Normalization π - The normalization of a fetched partβs updates to its registered
description: truncation to the registered bounds and
ts_rewrite. - Shard
Source Part - FetchedPart but with an accompanying permit from the fetch mem/disk semaphore.
EnumsΒ§
- Fetch
Batch πFilter - Fetched
Blob πBuf - Missing
Blob Diagnosis - The result of BatchFetcher::missing_blob_diagnostics.
- Part
Decode Format - Format weβll use when decoding a
Part. - Part
Source π - The updates
FetchedPartreads: a part decoded whole, or one decoded in bounded batches on demand.
ConstantsΒ§
- FETCH_
SEMAPHORE_ πCOST_ ADJUSTMENT - FETCH_
SEMAPHORE_ πPERMIT_ ADJUSTMENT - MISSING_
BLOB_ πDIAGNOSIS_ TIMEOUT - How long missing_blob_diagnostics waits to refresh state.
- OPTIMIZE_
IGNORED_ πDATA_ FETCH - PART_
DECODE_ πBATCH_ ROWS - PART_
DECODE_ πFORMAT - VALIDATE_
PART_ πBOUNDS_ ON_ READ
FunctionsΒ§
- decode_
batch_ πpart_ blob - fetch_
batch_ πpart - fetch_
batch_ πpart_ blob - fetch_
leased_ πpart - Trade in an exchange-able LeasedBatchPart for the data it represents.
- missing_
blob_ πdiagnostics - Diagnoses a missing-blob fetch failure: refreshes the shard state and reports whether the reader that leased the part is still present in it.