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

Drain ongoing sharded DDL operations before enabling write blocking on shards

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Sharding EMEA 2022-03-21

      Sharded DDL operations are coordinated by the DB primary shard but may involve several participant shards. Participant shards need to perform local (shard) catalog changes. When enabling user write blocking (which would make participant shards unable of performing catalog changes), we must first ensure that there is no ongoing sharding DDL operation. Otherwise the ShardingDDLCoordinator would be unable to complete the operation, making the collection unavailable.

      One way to achieve this is to make user write blocking enablement a two step process on sharded clusters.
      1st step: Tell all shards to prevent new ShardingDDLCoordinators from starting and drain any ongoing ones.
      2ns step: Tell all shards to start blocking user writes/ddl.

            Assignee:
            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            Reporter:
            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: