[SERVER-37981] Remove unnecessary PlanExecutor saveState/restoreState for background index builds Created: 07/Nov/18  Updated: 08/Nov/18  Resolved: 08/Nov/18

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Louis Williams Assignee: Louis Williams
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Sprint: Storage NYC 2018-11-19
Participants:

 Description   

The code in MultiIndexBlockImpl here that saves and restores the plan executor is unnecessary. In the case of yielding, PlanYieldPolicy::yield already saves and restores. In the case of WCEs, the try-catch block also handles saving and restoring. Removing can potentially speed up background index builds by 20%.



 Comments   
Comment by Louis Williams [ 08/Nov/18 ]

This is incompatible with the current storage engine interface. Not all storage engines keep cursors positioned after commit. While this improves performance on the current background index build code, it is going away once all inserts go through the external sorter.

Generated at Thu Feb 08 04:47:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.