-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
0
-
1
-
🟥 DDL
-
None
-
None
-
None
-
None
-
None
-
None
User impact
None, this is a test only issue.
Technical details
SERVER-107819 backported a new FSM test to v7.0 that checks manually if there is a catalog inconsistency. This is due to the fact that checkMetadataConsistency does not do these types of checks in 7.0. The issue is that the check is not serializing with collMod through the DDLLock so the following interleaving might happen:
1. Thread 1: issues a $listCatalog, which goes to shard 0 and gets the metadata.
2. Thread 2: issues a collMod which changes the validator metadata
3. Thread 1: the $listCatalog reaches shard 1, and see the after effects of step 2, compares it to the result of 1 and finds an inconsistency
Recommendation
If backporting the checkMetadataConsistency check to 7.0 is too risky, we should either serialize the $listCatalog states with the others, or simply remove that check.
- is caused by
-
SERVER-107819 Concurrent createIndex+collMod can leave behind inconsistent collection options
-
- Closed
-
- is related to
-
SERVER-107819 Concurrent createIndex+collMod can leave behind inconsistent collection options
-
- Closed
-