Details
-
Bug
-
Resolution: Duplicate
-
Major - P3
-
None
-
2.5.0
-
None
-
Storage Execution
-
ALL
-
(copied to CRM)
Description
It should not restart user-initiated index builds.
Scenario:
1) User starts building a unique index on {a:1} on the current primary, node A.
2) Node A dies suddenly (kill -9 or power failure, etc) and node B becomes the new primary.
3) Node A restarts and the IndexRebuilder restarts building of the index.
At this point, node A now has an index that does not exist on the primary and never will. This would be less of a problem for a non-unique index, but because this is unique, an insert can now succeed on the primary but fail on node A, breaking replication.
I think the right solution is to only rebuild indexes where we would not call logOp on completion.
Attachments
Issue Links
- duplicates
-
SERVER-43692 enable two phase index builds by default
-
- Closed
-
- is related to
-
SERVER-39086 Move startup recovery index creation logic into IndexBuildsCoordinator
-
- Closed
-
-
SERVER-39290 Remove startup index recovery redundancies
-
- Closed
-
- related to
-
SERVER-43642 Remove IndexBuilder in favor of IndexBuildsCoordinator
-
- Closed
-
-
SERVER-2771 Background index builds on replica set secondaries
-
- Closed
-
-
SERVER-8536 reenable IndexRebuilder for background indexing
-
- Closed
-