-
Type:
Task
-
Resolution: Won't Do
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Cache and Eviction
-
None
-
Storage Engines, Storage Engines - Transactions
-
SE Transactions - 2025-08-29, SE Transactions - 2025-09-12
-
3
WT-15180 identified a severe regression to reads due to dirty pages not being evicted from cache. We want to add a statistics to the modified cache eviction strategy to see whether this change is the cause in disaggregated storage
if (__wt_conn_is_disagg(session) && __wt_atomic_load32(&page->modify->page_state) < WT_EVICT_MODIFY_COUNT_MIN) { double pct_dirty = 0.0, pct_updates = 0.0; bool high_pressure = false; if (F_ISSET(conn->evict, WT_EVICT_CACHE_DIRTY)) { WT_IGNORE_RET(__wt_evict_dirty_needed(session, &pct_dirty)); high_pressure = (pct_dirty > (conn->evict->eviction_dirty_trigger * WT_DIRTY_PAGE_LOW_PRESSURE_THRESHOLD)); } if (!high_pressure && F_ISSET(conn->evict, WT_EVICT_CACHE_UPDATES)) { WT_IGNORE_RET(__wti_evict_updates_needed(session, &pct_updates)); high_pressure = (pct_updates > (conn->evict->eviction_updates_trigger * WT_DIRTY_PAGE_LOW_PRESSURE_THRESHOLD)); } if (!high_pressure) return (true); }