Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-62064

Serialize resharding with other DDL operations on stepup

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.3.0
    • Affects Version/s: 5.0.0, 5.2.0, 5.1.0
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Sharding EMEA 2021-12-27, Sharding EMEA 2022-01-10

      Serializeation of DDL operations on step-up is guaranteed by the ShardingDDLCoordinator service that rely on the assumption that all the uncompleted DDL operations store their coordinator document in config.system.sharding_ddl_coordinators .
      Resharding is a bit special in this sense because it has its own recovery method running on the CSRS and doesn't store any coordinator document on the DB primary shard. This means that on stendup other DDL operations could wrongly be executed concurrently with resharding on the same namespace.
      In order to fix this we will create a proper ShardingDDLCoordianator for resharding that will store its coordinator document along with the other DDL operations.

      The coordination of the resharding operation will still be delegated to the CSRS and the new ShardingDDLCoordinator  on the DB primary shard will act just as a pass-through.

            Assignee:
            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            Reporter:
            tommaso.tocci@mongodb.com Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: