[SERVER-43890] Remove two-phase database drops Created: 08/Oct/19 Updated: 18/May/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Gregory Wlodarek | Assignee: | Backlog - Replication Team |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
The Database object class has no special state on it today except for the isDropPending flag used to prevent new collections from being created while waiting for all collections to be two-phased drop committed. We can eliminate the Database object entirely, potentially. In addition, we can remove the rollback logic for the dropDatabase oplog entry and the oplog entry itself entirely. The dropDatabase command will simply two-phase drop all collections contained in the database, with nothing further to do. This ticket depends on removing readConcernMajority=false. |