-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
Labels:None
-
Fully Compatible
-
Repl 2017-06-19, Repl 2017-07-10
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".