[SERVER-29273] Two Phase Drops: add list of drop-pending collections to ReplicationCoordinator Created: 18/May/17  Updated: 30/Oct/23  Resolved: 24/May/17

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.5.8

Type: Task Priority: Major - P3
Reporter: Benety Goh Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-29251 Two Phase Drops: add NamespaceString ... Closed
is depended on by SERVER-29274 Two Phase Drops: rename collection to... Closed
is depended on by SERVER-29275 Two Phase Drops: implement collection... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2017-05-29
Participants:

 Description   

With 2-phase drops, collections are not physically dropped (on all nodes) until the commit point advances past the optime when the collection drop was first requested on the primary. Since the ReplicationCoordinator maintains the commit point, it is a logical choice for a location to hold this list of drop-pending collections.

This list is updated when:

  1. At server startup, we scan all non-local databases for collections with a drop-pending namespace (see SERVER-29251).
  2. When processing a collection drop command in a replicated setting, we add the drop-pending namespace after renaming the collection and logging the drop request in the oplog.


 Comments   
Comment by Githook User [ 25/May/17 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: Revert "SERVER-29273 rename dropped collection to special drop-pending name"

This reverts commit a339d8d6167aae163bdf7cda71c81e3165385ff4.
Branch: master
https://github.com/mongodb/mongo/commit/fe928cb39cf9c2434c894834a79b6cce94bc6197

Comment by Githook User [ 25/May/17 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-29273 rename dropped collection to special drop-pending name

The drop-pending collection will be removed by DropPendingCollectionReaper
when the replica set commit level reaches the drop optime.
Branch: master
https://github.com/mongodb/mongo/commit/a339d8d6167aae163bdf7cda71c81e3165385ff4

Comment by Githook User [ 24/May/17 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-29273 add list of drop-pending namespaces at startup to DropPendingCollectionReaper
Branch: master
https://github.com/mongodb/mongo/commit/1b88175df2275663919405e948489f111f2a9b7f

Comment by Githook User [ 23/May/17 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-29273 disable replicated writes when removing drop-pending collections
Branch: master
https://github.com/mongodb/mongo/commit/3bb7318a5b5c8d4a07696ab1dd292fe5b9077924

Comment by Githook User [ 19/May/17 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-29273 add DropPendingCollectionReaper to manage drop-pending collections
Branch: master
https://github.com/mongodb/mongo/commit/9ba2ced42110d439cf2644eaf57fac057dd1f337

Generated at Thu Feb 08 04:20:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.