Support creation of unsplittable collections in a transaction

XMLWordPrintableJSON

    • 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
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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

              Assignee:
              [DO NOT USE] Backlog - Catalog and Routing
              Reporter:
              Pierlauro Sciarelli
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: