-
Type:
New Feature
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Cache and Eviction
-
Security Level: Public (Available to anyone on the web)
-
Storage Engines - Transactions
-
2,121.912
-
SE Transactions - 2026-06-05, SE Transactions - 2026-06-19
-
5
Step-up: When a disaggregated node steps up from follower to leader, the shared disk cache should be disabled and eventually destroyed. Cross-checkpoint caching is only useful on followers, which serve reads across multiple checkpoint B-trees simultaneously and can reuse unchanged disk images across them, whereas a leader operates on a single live B-tree and would rarely get a cache hit. Currently step-up sets enabled = false but never destroys the cache structure, so this ticket adds an atomic size counter to WT_SHARED_DSK_CACHE to track live disk images and triggers __wti_shared_dsk_cache_destroy in __wt_shared_dsk_cache_release when the last follower-phase reference drains (size == 0 && !enabled).
Step-down: When a disaggregated node steps down from leader to follower, the shared disk cache should be re-initialised so the node can begin benefiting from cross-checkpoint caching again. This ticket fixes the re-initialisation guard to check hash == NULL rather than !shared_dsk_cache.enabled, since hash == NULL is the accurate signal that the cache structure does not exist and needs to be built.