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

Improve eviction of internal pages from idle trees

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.9.3, 3.5.9
    • Labels:
      None
    • Sprint:
      Storage 2017-03-27, Storage 2017-04-17, Storage 2017-05-08

      Description

      The current eviction algorithm will generally queue one internal page from the tree each time eviction visits it. Then in the queue, internal pages are weighted so that they are very unlikely to be evicted.

      That makes sense in busy trees because evicting internal pages is counter-productive, and also mostly wasted work because they usually have leaf pages underneath.

      If instead, the walk only attempted to queue internal pages without children (which the walk can make a reasonable guess at by checking if an internal page is the parent of the previous page seen), and we reduce or eliminate the bias against internal pages during the sort, then idle trees should be fully evicted, so that only a root page remains. At that point, we can be smarter about not visiting such pages in eviction, and potentially have sweep treat them as candidates to close.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                michael.cahill Michael Cahill
                Reporter:
                michael.cahill Michael Cahill
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: