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

check for shutdown after waiting for conflicting commands in replication applyOperation

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 3.3.3
    • None
    • Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 11 (03/11/16)
    • 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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: