-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
Catalog and Routing
-
CAR Team 2023-12-11, CAR Team 2023-12-25, CAR Team 2024-01-08, CAR Team 2024-01-22, CAR Team 2024-02-05, CAR Team 2024-02-19
Explicit collection creation:
-
- The router receives an explicit create request and contacts the primary shard
- The shard creates the collection locally and returns the UUID of the created collection
- The router adds the CSRS as a participant and creates the collection on the cluster catalog
Implicit creation case:
-
- The shard throws a new "collection needs to be created" error to the router when detecting that a write is targeting a non-existing collection (flow detailed in
SERVER-80372) - The router catches such error and reacts by issuing an explicit collection creation request (following the path outlined just above for the explicit creation path)
- The shard throws SSV
- The router re-issues the write
- The shard throws a new "collection needs to be created" error to the router when detecting that a write is targeting a non-existing collection (flow detailed in
- depends on
-
SERVER-86254 Implicit creation due to retryable write or txn statement must follow new path
-
- Open
-
-
SERVER-78799 POC distributed transactions involving local and sharding catalogs
-
- Closed
-
-
SERVER-80372 Make implicit collection creation call into `createCollection`
-
- Closed
-
-
SERVER-81498 Internally allow creation of new collections inside prepared transactions
-
- Closed
-
-
SERVER-83776 Pull out from create coordinator the code to commit new collections on the sharding catalog
-
- Closed
-
-
SERVER-85913 Adapt DDL locks to support transactions
-
- Closed
-
- is depended on by
-
SERVER-83328 Increase thread count in sharded_transactional_collection_creation.js
-
- Blocked
-
- is related to
-
SERVER-83875 Simplify flow for creating collection in a transaction on sharded clusters
-
- Blocked
-