-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Fully Compatible
-
Repl 2017-05-29
In replication mode, when a collection is being prepared for a 2-phase drop, we rename the collection to a non-user accessible namespace while we wait for the drop to be confirmed by the rest of the replica set. The proposed namespace for the collection while the drop is pending is:
Original namespace:
<db>.<coll>
Drop-pending namespace:
<db>.system.drop.<optime>.<coll>
<optime> is the optime of the oplog entry generated for the collection drop that will be propagated to the rest of the replica set and is formatted as follows:
<timestamp seconds>i<timestamp increment>t<optime term>
<coll> is appended to the drop-pending namespace for purely informational purposes only. If the generated namespace exceeds the the maximum namespace length, <coll> may be truncated as necessary.
Once the collection has been renamed to a drop-pending namespace, it will not be eligible for initial sync or visible to listCollections requests without special flags.
- is depended on by
-
SERVER-29272 Two Phase Drops: listCollections should exclude drop-pending collections
- Closed
-
SERVER-29273 Two Phase Drops: add list of drop-pending collections to ReplicationCoordinator
- Closed
-
SERVER-29278 Two Phase Drops: scans on system.namespaces should exclude drop-pending namespaces
- Closed
-
SERVER-29279 Two Phase Drops: dbHash needs to skip hashing drop-pending collections
- Closed
-
SERVER-29357 Two-Phase Drops: Document validators should be allowed in drop-pending collections
- Closed