Make cache walk heuristic reset specific to disaggregated storage

XMLWordPrintableJSON

    • Storage Engines, Storage Engines - Transactions
    • SE Transactions - 2025-08-01
    • 1

      WT-14813 introduced code that prioritised evicting pages with more dirty content. Most of the changes were restricted to disaggregated storage, but this change that reset the eviction walk flag heuristic was not similarly constrained. 

              /*
               * If the cache walk flags have changed since the prior eviction pass on this tree then
               * reset the walk effectiveness tracking. Imagine a case where only dirty content has been
               * looked for and this tree doesn't have much dirty content. Then eviction starts looking
               * for clean content - this tree might be a cornucopia of good clean candidate pages.
               */
              if (btree->last_evict_walk_flags != evict->flags) {
                  __wt_atomic_store32(&btree->evict_walk_period, 0);
                  btree->last_evict_walk_flags = evict->flags;
              } 

      We observed a regression in performance BF-38690 related to this change to eviction tree walk. We should make this change specific to disaggregated storage, as this change was originally made because of the disaggregated storage specific change to dirty eviction where we did not queue pages with few updates in disaggregated storage, which was causing the heuristic to disproportionally evict index pages.

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

                Created:
                Updated:
                Resolved: