Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-9854

Add more statistics to track why eviction does not progress

    • Storage Engines
    • 3
    • StorEng - Defined Pipeline

      Increase the number of statistics related to eviction and specifically why a page cannot be evicted.

      We currently have a couple of stats doing this:

          CacheStat('cache_eviction_checkpoint', 'checkpoint blocked page eviction'),
          CacheStat('cache_eviction_hazard', 'hazard pointer blocked page eviction') 

      However, there are other reasons why eviction can be blocked and we could add stats for those too. A good starting point would be __wt_page_can_evict which checks if a page can be evicted. For instance, pages with an uncommitted truncate cannot be evicted, we could track them by adding a stat:

              WT_STAT_CONN_DATA_INCR(session, cache_eviction_fast_truncate);


      • Does this affect any team outside of WT?
        It can help diagnose issues related to eviction.
      • Is this issue urgent?
        It would be great to have it asap as the stats would show up in T2 which is used by various teams.

      Acceptance Criteria (Definition of Done)
      List the different reasons why eviction cannot proceed and figure out if it is worth adding a stat for it.

      • Testing
        Make sure those stats are updated using T2.
      • Documentation update

            peter.macko@mongodb.com Peter Macko
            etienne.petrel@mongodb.com Etienne Petrel
            0 Vote for this issue
            2 Start watching this issue