-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Replication
Today, logical initial sync's cloning uses listDatabases, listCollections and listIndexes. These commands are not designed with consistency in mind in the presence of catalog changes that are pending commit. This can result in subtle consistency issues, like the one described in SERVER-82221.
This ticket is to replace listCollections and listIndexes with $listCatalog, which guarantees a consistent snapshot. Note that this depends on the project represented by SERVER-81037, which will enable efficient namespace range lookups on $listCatalog.
- depends on
-
SERVER-81037 Cluster the local durable catalog or index it by namespace
- Backlog
- is related to
-
SERVER-90243 ShardCollection/Chunk Migrations/Resharding do not clone some collection catalog options.
- Closed
-
SERVER-95065 Replace listCollections with equivalent aggregation
- Backlog
- related to
-
SERVER-82221 listCollections and listIndexes should include commit-pending namespaces
- Closed
-
SERVER-90768 Compare output between listCollections and $listCatalog for the same database and verify equivalence in testing
- In Code Review