-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
CAR Team 2024-05-27, CAR Team 2024-06-10, CAR Team 2024-06-24, CAR Team 2024-07-08, CAR Team 2024-07-22, CAR Team 2024-08-05, CAR Team 2024-08-19, CAR Team 2024-09-02, CAR Team 2024-09-16, CAR Team 2024-09-30, CAR Team 2024-10-14, CAR Team 2024-10-28, CAR Team 2024-11-11, CAR Team 2024-11-25, CAR Team 2024-12-23, CAR Team 2025-01-06
At the time of writing, mongos cannot definitively say whether or not a given database exists. Consider the following sequence (credit to max.hirschhorn@mongodb.com ):
- Client sends insert through mongos1
- Mongos1 runs enableSharding and assigns database to shard_A
- Mongos1 runs insert command and creates collection and inserts the document
- Client sends find through mongos2 (drivers round-robin through mongos processes with similar latencies and so this would be done without explicit application knowledge)
- Mongos2 hasn't learned of the database exist and returns empty result set
- This violates read-your-writes
This ticket tracks the work to make mongos2 definitively know of the created database upon its creation.
- is related to
-
SERVER-93173 CollectionRoutingInfoTargeter should not create database on read operations
- Backlog
- related to
-
SERVER-54979 Calling move/split/mergeChunk after one another from different MongoS is not causally consistent
- Backlog