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

Serialize resharding with other DDL operations on stepup

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • 5.0.0, 5.2.0, 5.1.0
    • 5.3.0
    • None
    • None
    • Fully Compatible
    • ALL
    • Sharding EMEA 2021-12-27, Sharding EMEA 2022-01-10

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: