-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Storage Execution
-
Fully Compatible
-
ALL
-
v8.0, v7.0, v6.0, v5.0
-
Execution Team 2024-05-13, Execution Team 2024-05-27, Execution Team 2024-06-24, Execution Team 2024-07-22, Execution Team 2024-08-05, Execution Team 2024-08-19
-
0
When oplogApplicationEnforcesSteadyStateConstraints is set to false, if there is an index build conflict after a node steps down and the existing index build fails, the index build is not retried resulting in an index build missing on a secondary.
This is the order events that can cause this:
- Node 1 starts index build A as a primary and the index build is scheduled (making it past this check)
- Node 1 steps down
- Node 2 steps up as primary and starts index build B with the same name as index build A
- Node 1 tries to replicate index build B but runs into an index build conflict with index build A but continues with this error
- Index build A on node 1 fails
- Index build B now missing on node 1 and is not retried
In production, this could only be detected by running dbcheck when the db hashes for Node 1 and Node 2 mismatch.