Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-22955

check for shutdown after waiting for conflicting commands in replication applyOperation

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.3
    • 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.

            Assignee:
            milkie@mongodb.com Eric Milkie
            Reporter:
            milkie@mongodb.com Eric Milkie
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: