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

Two Phase Drops: Implement collection drop rollback logic

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 3.5.10
    • None
    • Replication
    • None
    • Fully Compatible
    • Repl 2017-06-19, Repl 2017-07-10

    Description

      Before 3.6, collection drops are executed immediately and the collections are removed from the storage upon completion of the user request processing. In 3.6, we defer the actual collection drops until the replica set has advanced to or past the optime of the drop operation. This makes it possible to recover the dropped collection in a rollback scenario.

      When the node needs to roll back a collection drop oplog entry, it first finds the entry in the "task list" corresponding to the collection by UUID. It then renames the drop-pending collection back to its original name (gleaned from the oplog entry), and it removes the entry from the "task list".

      Attachments

        Activity

          People

            judah.schvimer@mongodb.com Judah Schvimer
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: