The server parameter enableTwoPhaseIndexBuild controls whether two phase index builds are in effect. Currently in a replica set, index builds are represented by a single createIndexes oplog entry. When this feature is enabled, every index build will be represented by a pair of oplog entries
- startIndexBuild
- commitIndexBuild (or abortIndexBuild)
- depends on
-
SERVER-43323 replicated index builds not writing startIndexBuild and commitIndexBuild oplog entries
- Closed
-
SERVER-43353 index_stepdown_init.js must handle error messages other than IndexBuildAborted
- Closed
-
SERVER-43403 Index creation may be allowed to start on a collection in drop-pending state
- Closed
-
SERVER-43415 indexbg_killop_primary.js crashes when two phase index builds are enabled
- Closed
-
SERVER-43612 secondary fails to start index build due to in-progress aborted index build with duplicate name
- Closed
-
SERVER-44250 startIndexBuild oplog write and thread pool scheduling are not serialized between concurrent threads on primaries
- Closed
-
SERVER-44329 update dbtest suite StorageTimestampTests to work with two phase index builds
- Closed
-
SERVER-44344 legacy map reduce fails to recreate indexes in existing output collection with two phase index builds
- Closed
-
SERVER-44393 indexu.js fails in replica_set_passthrough when two phase index builds are enabled
- Closed
-
SERVER-44397 index build continues to enforce constraints after failing over from primary to secondary
- Closed
-
SERVER-44526 Deadlock in ConfigServerTestFixture::setUpAndInitializeConfigDb
- Closed
-
SERVER-44544 IndexBuildsCoordinator::_buildIndexTwoPhase() crashes after collection scan is interrupted
- Closed
-
SERVER-43822 db_catalog_test RenameCollectionTest suite fails when two phase index builds are enabled by default
- Closed
-
SERVER-43869 aborted index build cleanup on mobile storage engine hits invariant
- Closed
-
SERVER-44742 inconsistent checks for two phase index build support across C++ and JS
- Closed
-
SERVER-39002 killOp against a primary index build command or index build thread must abort the index build across the replica set
- Closed
-
SERVER-39451 Add recover to a stable timestamp logic for startIndexBuild, abortIndexBuild, commitIndexBuild
- Closed
-
SERVER-39484 Add step-up and step-down state transition logic to simul index builds
- Closed
-
SERVER-43301 add no_passthrough to two phase index builds evergreen builder
- Closed
-
SERVER-43635 Enable backup_cursor_extend_waiting_logic.js when two phase index builds are enabled
- Closed
-
SERVER-43636 Enable characterize_index_builds_on_restart.js when two phase index builds are enabled
- Closed
-
SERVER-43637 Enable hybrid_unique_index_with_updates.js when two phase index builds are enabled
- Closed
-
SERVER-43638 Do not block prepared transactions on two-phase index builds on secondaries
- Closed
-
SERVER-43639 Two phase index build completion should use timestamp from commitIndexBuild oplog entry
- Closed
-
SERVER-43932 add sharding to two phase index builds evergreen builder
- Closed
-
SERVER-43935 Enable change_streams_primary_shard_unaware.js when two phase index builds are enabled
- Closed
-
SERVER-44040 add replica_sets to two phase index builds evergreen builder
- Closed
-
SERVER-44041 Enable prepare_transaction_index_build.js when two phase index builds are enabled
- Closed
-
SERVER-44042 Enable reconstruct_prepared_transactions_initial_sync_index_build.js when two phase index builds are enabled
- Closed
-
SERVER-44043 Enable secondary_as_sync_source.js when two phase index builds are enabled
- Closed
-
SERVER-44350 write rollback tests for two phase index builds
- Closed
-
SERVER-44408 Persist index build UUID to the durable catalog
- Closed
-
SERVER-44467 Implement startup recovery for two-phase index builds
- Closed
-
SERVER-44784 disable two phase index builds when majority reads are off
- Closed
-
SERVER-44785 replace two_phase_index_builds_unsupported tag with active check
- Closed
-
SERVER-43315 extend abortIndexBuild oplog entry to include reason/cause
- Closed
-
SERVER-43419 remove unnecessary FCV check from MultiIndexBlock::_unlockRSTLForIndexCleanup()
- Closed
-
SERVER-43837 remove RSTL unlocking logic from MultiIndexBlock::cleanUpAfterBuild()
- Closed
-
SERVER-44121 allow Index builds to opt out of the PBWM on primaries
- Closed
-
SERVER-44186 allow index builds to continue running on stepdown
- Closed
-
SERVER-44436 IndexBuildsCoordinatorMongod should always delegate index build to thread pool
- Closed
-
SERVER-44437 remove DBDirectClient reference from ShardLocal::createIndexOnConfig
- Closed
-
SERVER-44439 add js helper function to check support for two phase index build
- Closed
- is depended on by
-
SERVER-38961 Remove override for causally consistent index builds once two-phase index builds are complete
- Closed
- is duplicated by
-
SERVER-14746 IndexRebuilder should only restart index builds initiated internally
- Closed
- is related to
-
SERVER-43259 add server parameter for enabling two phase index builds
- Closed
- related to
-
SERVER-21307 Replicated DDL (catalog) operation during background index build blocks reads/writes
- Closed
-
SERVER-44859 plan_cache_index_create.js is blocked on two phase index build commit
- Closed