-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
ALL
-
v6.0
-
Sharding NYC 2022-06-13, Sharding 2022-06-27
-
12
Here is the scenario:
- node0 steps up and creates the config.transactions collection but steps down before creating the partial index
- node0 or some other node steps up and sees that the collection has already exists so it skips creating the partial index.
- the replica set ends up without the partial index forever.
The issue is that we create the collection and the partial index in two separate oplog entries, and failover/restart can occur between those two writes. This can be solved by also creating the index if the collection exists but is empty and doesn't already have the index since the two writes are split, the collection should remain empty upon recovery.