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

Eviction optimization

    • Type: Icon: Task Task
    • Resolution: Done
    • WT2.1.1
    • Affects Version/s: None
    • Component/s: None

      The current split-merge code in rec_merge.c gives up if it ends up with a tree with too many entries. By the time it gives up, it already has the entire subtree locked.

      It would be good if we could evict the subtree in that case, so that the internal split-merge nodes are forced out (then when pages are read in the internal tree structure should be better balanced).

      To do that we would need to:

      • Walk all leaf and non-split-merge internal pages and evict them via __rec_evict calls.
      • Finally evict the root of the tree that we have locked (which will be a split-merge page). To do the final eviction we'll need to adjust the logic in *rec_evict, since *rec_evict currently attempts to merge when it comes across a split merge page.

            Assignee:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Reporter:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: