-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Fully Compatible
-
ALL
-
Repl 11 (03/11/16)
-
0
When the applier receives a ErrorCodes::BackgroundOperationInProgress error when applying a 'c' op on a secondary, the code will block waiting for the background operation (a background index build) to complete.
If the server is shut down during this situation, the background index build can abort and leave the index incomplete. This causes the 'c' operation to unblock and attempt to complete, which may result in an fassert if the 'c' operation is assuming there will be no incomplete indexes (for example, a database drop).
The correct thing to do is to check for interrupt after unblocking but before we attempt to reapply the 'c' operation.