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

Balancer round may complete after {balancerStop:1} in presence of stepdowns

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Cluster Scalability
    • ALL
    • Cluster Scalability Priorities
    • 0
    • 1
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The `balancerStop` command is supposed to cancel and join ongoing migrations (it's also required by the documentation), so it should be safe to assume that no migrations take place after the command returns. However, an interleave with a stepdown can result in the command returning successfully while still one migration is proceeding.

      1. A migration starts.
      2. A stepdown in the config server takes place.
      3. Tasks are interrupted, and among them ongoing migrations are cancelled.
      4. The command balancerStop is issued. There is no ongoing migration, there is nothing to join, so the command returns immediately.
      5. The interrupted migration in point 3 actually completes, despite being cancelled, and the commit happens after balancerStop has returned.

            Assignee:
            Unassigned Unassigned
            Reporter:
            aitor.esteve@mongodb.com Aitor Esteve Alvarado
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: