-
Type: Bug
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
SERVER-96828 introduced a bug when the DropDatabase coordinator ran on a mixed binary version scenario.
This was solved by SERVER-97830 preventing the insertion of a document in kConfigDropPendingDBsNamespace whenever the sharded cluster is being upgraded or downgraded.
SERVER-97830 introduced a new problem: a CreateDatabase operation may not properly serialize with a DropDatabase when there is an upgrade in progress.
The following sequence of events exemplifies the issue:
- An upgrade starts.
- A DropDatabase operation starts and it doesn't insert a document in kConfigDropPendingDBsNamespace because the CreateDatabase feature flag is not enabled yet
color: Color value is invalid
.
- The upgrade process finishes, therefore the CreateDatabase feature flag is enabled. The DropDatabase operation hasn't finished yet.
- A CreateDatabase operation starts instantiating the new coordinator. It checks if there is a concurrent drop database
color: Color value is invalid
, the check passes although there is a concurrent DropDatabase coordinator.