Skip to main content

Module runtime_cache

Module runtime_cache 

Source

Structs§

ReadCaches
Per-graph read caches handed to a resolved Snapshot so its table opens reuse one shared Session (LanceDB’s one-session-per-connection pattern) and the held-handle cache. Manual Debug because lance::session::Session is not Debug; this lets Snapshot keep its #[derive(Debug)].
RuntimeCache
TableHandleCache
Held open-Dataset handles keyed by (table_path, branch, version, e_tag) — the version-keyed analogue of LanceDB’s DatasetConsistencyWrapper (rust/lancedb/src/table/dataset.rs). A warm read reuses a held handle with zero open IO (a cheap Dataset clone); a miss opens once at the location with the shared Session. Version plus e_tag are in the key, so a write (or a delete/recreate that reuses a version number on object stores with e_tags) is simply a new key. A same-branch manifest refresh clears this cache as the fallback for e_tag-less table locations. Only read-path Data opens use this — writes open HEAD directly and never receive a pinned handle.