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

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.0-rc1
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • ALL
    • Repl 2017-10-23, Repl 2017-11-13

      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.

            william.schultz@mongodb.com William Schultz (Inactive)
            benety.goh@mongodb.com Benety Goh
            0 Vote for this issue
            7 Start watching this issue