[SERVER-77281] Investigate removing use of the DatabaseHolder and/or dropDatabase oplog entry in the storage execution layer Created: 18/May/23  Updated: 23/May/23

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: techdebt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-74703 Primary running dropDatabase may fail... Closed
related to SERVER-77278 Replication rollback of a dropDatabas... Closed
related to SERVER-43890 Remove two-phase database drops Backlog
related to SERVER-43925 Proactively close newly empty databases Backlog
related to SERVER-42053 proactively drop newly empty database... Closed
Assigned Teams:
Storage Execution
Participants:
Linked BF Score: 135

 Description   

The server supports many database level commands, but in the storage execution layer those mostly devolve to scanning the CollectionCatalog. Keeping the DatabaseHolder in-memory state in sync with the CollectionCatalog is buggy. Today dropDatabase majority commits dropCollection oplog entries, then as a second step writes the dropDatabase oplog entry and clears the in-memory state.

Perhaps we don't need to write dropDatabase anymore. Sharding does a bunch of writes to clear database level state in its own config, regardless of the dropDatabase oplog entry.



 Comments   
Comment by Dianna Hohensee (Inactive) [ 18/May/23 ]

We've got all sorts of related issues and tickets, of which I've linked some.

Generated at Thu Feb 08 06:35:02 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.