You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tiering): Add experimental list node offloading
Extend tiered storage to offload individual QList nodes to disk,
gated by --tiered_experimental_list_support.
Key changes:
- Add ListNodeId (dbid, node*, ql*) as a new tiering identity type
alongside KeyRef; introduce PendingId/ReadId variants so OpManager
can handle both key-level and node-level I/O uniformly.
- Add tiering callbacks (offload_cb, onload_cb, delete_cb) to
QList::TieringParams. PromoteToQLIfNeeded now wires them up when
tiered storage is available, using the new db_id_ member on
ListWrapper to store DbIndex for usage.
- Update CancelStash / ReadInternal signatures to accept the generic
PendingId / ReadId types instead of (dbid, key).
- Add IsClosed() / is_closed_ guard so delete_cb skips I/O after
TieredStorage::Close() is called.
- Expose StashListNode / ReadTieredListNode free functions used by the
ListWrapper callbacks.
- Added ListNodeTieringTest suite
Signed-off-by: mkaruza <mario@dragonflydb.io>
0 commit comments