The index builder interface established is established in SERVER-37636.
This ticket will add a Threadpool and move all the instances of MultiIndexBlock (index builder class) that are all over the place behind the interface and running on the Threadpool.
We should be able to register index builds via the interface and then wait upon a condition variable to hear back on the Status result.
Keep in mind SERVER-37644, which is to make index builds joinable via the createIndexes command. The condition variable setup must be such that we can have multiple waiters who can all hear back about the same result. Maybe an interface internal helper function to get something to wait upon for a Status result.
- causes
-
SERVER-39368 Refactor IndexBuildsCoordinator::_runIndexBuild
- Closed
- has to be done after
-
SERVER-37636 Create an interface through which to act on index builds
- Closed
- has to be done before
-
SERVER-37951 Break index builds into phases and add modes
- Closed
-
SERVER-37963 Update metadata command behaviors to either ignore or interrupt index builds
- Closed
-
SERVER-37966 Do not wait for index build completion on startup
- Closed
-
SERVER-39086 Move startup recovery index creation logic into IndexBuildsCoordinator
- Closed
-
SERVER-39314 Update IndexBuildManager unit testing
- Closed
- is depended on by
-
SERVER-37940 Establish a code path for FCV 4.0 and FCV 4.2 index builds
- Closed
-
SERVER-39068 Replication of simultaneous index builds startIndexBuild and commitIndexBuild oplog entries
- Closed
- related to
-
SERVER-38745 MigrationDestinationManager assigns incorrect timestamps while building multiple indexes
- Closed
-
SERVER-45378 IndexBuildsCoordinator::_setUpIndexBuild() can throw exceptions which should be caught and clean (unregister) the index build
- Closed
-
SERVER-45933 2 phase index build running with maxTimeMS can lead to undesirable behavior like server crash.
- Closed