[SERVER-2022] investigate use of, an possibly remove, parent pointers from the btree implementation Created: 28/Oct/10 Updated: 06/Dec/22 Resolved: 14/Sep/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Index Maintenance, MMAPv1 |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Aaron Staple | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Storage Execution
|
||||||||
| Participants: | |||||||||
| Description |
|
Parent pointers make some btree operations simpler to implement, but they result in a lot more buckets being written when there is a split / merge. Some operations (hops from one node to another bypassing the root) are faster with parent pointers, but in these cases we may be able to cache the pointers from the time we last descended the tree and only invalidate the cache if we yield. |