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

Primary removes drop-pending collection on step up before drop is replicated to a majority

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.6.0-rc1
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Repl 2017-10-23, Repl 2017-11-13

      Description

      See attached retro script drop_collections_two_phase_step_down.js.

      In the repro script, we have a 2 node replica set where we have paused oplog application on the secondary to keep the replica set commit point from advancing. This ensures that drop-pending collections are not cleaned up.

      While oplog application is paused on the secondary, we step down the primary using

      {force: true}

      and wait for it to regain its PRIMARY status again. On regaining PRIMARY status, it erroneously notifies the drop pending collection reaper that the commit point has advanced past the drop-pending collection's drop optime.

      This results in the drop-pending collection being dropped on the primary even though the secondary has not transitioned the original collection to a drop-pending state.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: