[SERVER-22955] check for shutdown after waiting for conflicting commands in replication applyOperation Created: 03/Mar/16  Updated: 16/Mar/16  Resolved: 04/Mar/16

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.3.3

Type: Bug Priority: Major - P3
Reporter: Eric Milkie Assignee: Eric Milkie
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Repl 11 (03/11/16)
Participants:
Linked BF Score: 0

 Description   

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.



 Comments   
Comment by Githook User [ 04/Mar/16 ]

Author:

{u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-22955 check for interrupt after waiting for bg op to finish in applier
Branch: master
https://github.com/mongodb/mongo/commit/6eb09b5e4716e31109bcdebaf9cae157edd80773

Generated at Thu Feb 08 04:01:55 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.