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

Verify if checkpoint cleanup can proceed even when eviction is needed

    • Storage Engines
    • 8
    • 2024-07-09 - Nyan Cat

      Summary
      Currently, the checkpoint cleanup stops processing whenever it detects that eviction is needed as per the below code.

      if (__wt_cache_aggressive(session) || __wt_cache_full(session) || __wt_cache_stuck(session) ||      __wt_eviction_needed(session, false, false, NULL)) {
            *skipp = true;
              return (0);    
      } 

      As observed in an internal cluster, checkpoint-cleanup gave up whenever the eviction is required leading to an increase in disk size of the history store.

      Motivation

      • Does this affect any team outside of WT?
        No
      • How likely is it that this use case or problem will occur?
        Very high operations scenario.
      • If the problem does occur, what are the consequences and how severe are they?
        The disk space increases.
      • Is this issue urgent?
        No
      • Suggested Solution*

      Instead of checking the eviction needed approach that checks for clean/update/dirty, checking only the clean page eviction could be beneficial as checkpoint-cleanup lead to more clean pages in the cache except when the page is marked to delete.

            Assignee:
            ravi.giri@mongodb.com Ravi Giri
            Reporter:
            haribabu.kommi@mongodb.com Haribabu Kommi
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: