Skip to content

Timeseries: add WarmStorage trait for block-cache warming - #508

Merged
cadonna merged 1 commit into
opendata-oss:mainfrom
cadonna:warm_storage
Jul 14, 2026
Merged

Timeseries: add WarmStorage trait for block-cache warming#508
cadonna merged 1 commit into
opendata-oss:mainfrom
cadonna:warm_storage

Conversation

@cadonna

@cadonna cadonna commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a WarmStorage trait to the native SlateDB storage layer that warms the block cache for a set of time buckets. A blanket impl covers the handles whose DB exposes a cache manager.

Test Plan

unit tests

Checklist

  • Tests added/updated
  • cargo fmt and cargo clippy pass
  • Documentation updated (if applicable)

Add a WarmStorage trait to the native SlateDB storage layer that warms
the block cache for a set of time buckets. A blanket impl covers the
handles whose Db exposes a cache manager (the writer Db and the
read-only DbReader); DbSnapshot deliberately has no impl since it
carries neither the manifest (DbMetadataOps) nor warm_sst
(DbCacheManagerOps).

StorageReaderInner::warm resolves the requested buckets to the SSTs
live in the current manifest (each bucket is its own segment per
RFC-0024) and warms, per SST, the filters, the index, and the data
blocks of the index record types (series dictionary, forward index,
inverted index); sample data blocks are included only when requested.
SSTs are warmed with a bounded fan-out of 16, and a cancellation token
aborts the warm promptly without surfacing an error.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cadonna
cadonna merged commit afa06ac into opendata-oss:main Jul 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant