Add Stats to Track Skipped Pages in Disagg Eviction

XMLWordPrintableJSON

    • 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);
          } 

       

            Assignee:
            Alana Huang
            Reporter:
            Alana Huang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: