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

stopMigrations/resumeMigrations don't have replay protection

    • Sharding EMEA
    • Fully Compatible
    • Sharding EMEA 2023-04-03, Sharding EMEA 2023-04-17, Sharding EMEA 2023-05-01, Sharding EMEA 2023-05-15
    • 135
    • 3.33

      Currently several DDL coordinators like rename, collmod and drop collection use configsvrSetAllowMigrations command to stop migrations while the coordinator runs because eventually there will be a metadata change and a migration to a shard that previously did not have metadata might not find out of the change.

      However, the command does not have replay protection, which could cause the following scenario:

      1. A DDL coordinator sends a configsvrSetAllowMigration command that gets held in a router due to slowness in the networks
      2. There is a stepdown and the new primary executes the DDL fully, unlocking the migrations at the end of the coordinator
      3. The command delayed in 1 comes in and blocks the migrations for the collection

      We can prevent this by adding replay protection (like configsvrRemoveChunk) to configsvrSetAllowMigrations.

            Assignee:
            marcos.grillo@mongodb.com Marcos José Grillo Ramirez
            Reporter:
            sergi.mateo-bellido@mongodb.com Sergi Mateo Bellido
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: