[SERVER-81937] Support creation of unsplittable collections in a transaction Created: 06/Oct/23  Updated: 07/Feb/24

Status: In Progress
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Pierlauro Sciarelli Assignee: Pierlauro Sciarelli
Resolution: Unresolved Votes: 0
Labels: PM-3364-Milestone-5, oldshardingemea
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-86254 Implicit creation due to retryable wr... Open
depends on SERVER-78799 POC distributed transactions involvin... Closed
depends on SERVER-80372 Make implicit collection creation cal... Closed
depends on SERVER-81498 Internally allow creation of new coll... Closed
depends on SERVER-83776 Pull out from create coordinator the ... Closed
depends on SERVER-85913 Adapt DDL locks to support transactions Closed
is depended on by SERVER-83328 Increase thread count in sharded_tran... Blocked
Related
is related to SERVER-83875 Simplify flow for creating collection... Blocked
Assigned Teams:
Catalog and Routing
Sprint: 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
Participants:

 Description   

Explicit collection creation:

    1. The router receives an explicit create request and contacts the primary shard
    2. The shard creates the collection locally and returns the UUID of the created collection
    3. The router adds the CSRS as a participant and creates the collection on the cluster catalog

Implicit creation case:

    1. 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)
    2. 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)
    3. The shard throws SSV
    4. The router re-issues the write

Generated at Thu Feb 08 06:47:47 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.