-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Execution Team 2020-06-15
-
10
We can't remove single-phase index builds entirely, but we should consider forcing single-phase builds to run synchronously with oplog batch application. This enables them to stop using ghost timestamps. Single phase builds are only used for empty collections, and to rebuild indexes admin.system collections (see SERVER-47439).
Original description:
Use two-phase index builds by default. Evaluate and remove logic, where possible, that depends on IndexBuildProtocol::kSinglePhase, with the exception of creating indexes on empty collections.
- is depended on by
-
SERVER-47867 Remove ghost timestamping code
- Closed
- is related to
-
SERVER-46601 createIndexes on local database collections should not use two phase index build + commit quorum for building indexes.
- Closed
-
SERVER-39079 Add parallel IndexBuildsCoordinator checks wherever BackgroundOperation checks are done
- Closed
-
SERVER-41554 Remove applyOps support for createIndexes
- Closed
-
SERVER-47439 IndexBuildsCoordinator::createIndexes() should generate createIndexes oplog entry (single phase index build) for building indexes on empty collection.
- Closed
-
SERVER-48593 createIndexForApplyOps() should always relax index build constraints
- Closed
- related to
-
SERVER-48465 restore noop write msg format for single-phase index builds
- Closed
-
SERVER-38961 Remove override for causally consistent index builds once two-phase index builds are complete
- Closed