-
Type: Task
-
Resolution: Done
-
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.
- related to
-
WT-528 Add functionality to evict some split-merge subtrees.
- Closed