-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
CAR Team 2026-01-19
-
š„ DDL
-
None
-
None
-
None
-
None
-
None
-
None
Right now, the $listClusterCatalogĀ first fetches all the collections from listCollections and later reads the collections on config.collections. Since these reads are not done at the same cluster time, both responses may be inconsistent between them, which may happen in case of having concurrent DDL operations.
If the reads of the config catalog and the shard/local catalog are not consistent, $listClusterCatalog fields that rely on the combination of both catalogs could potentially return wrong information when there are concurrent DDL operations. Those fields are mainly 'shards', 'tracked' and 'sharded'.
For instance:
- If a resharding operation runs concurrently with $listClusterCatalog, $listClusterCatalog may return an empty list of shards if the collection is not present on the config catalog when $listClusterCatalog performs the read on config.collections.
- If a shardCollection operation runs concurrently with $listClusterCatalog, $listClusterCatalog may return that the collection is sharded if it's not present on the config catalog when $listClusterCatalog performs the read on config.collections.
This ticket aims to ensure that $listClusterCatalogĀ makes consistent reads across the config catalog and the local/shard catalogs.
- blocks
-
SERVER-107941 Use $listClusterCatalog in js test helpers
-
- Blocked
-
- is fixed by
-
SERVER-98658 Convert the $listClusterCatalog stage into a source of documents stage
-
- Blocked
-
- related to
-
SERVER-98686 Add support for snapshot read concern in $internalListCollections
-
- Blocked
-
-
SERVER-115804 Ensure there are jsCore tests running $listClusterCatalog after all kind of DDL operations
-
- Closed
-