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

Config server should send setFCV to all shards in parallel

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 4.5.1
    • Component/s: Sharding
    • Labels:
    • Cluster Scalability

      Currently, the config server sends setFCV to shards serially, meaning on large clusters where setFCV on each shard takes a long time, the overall setFCV across the cluster becomes extremely long.

      Instead, the config server could use the AsyncRequestsSender to send setFCV in parallel, similar to what is done here.

      Note that this will introduce a new possible cluster state where two shards are both in "upgrading" or "downgrading" and communicate with each other (via e.g., $out or chunk migration). Though some users turn the balancer off during setFCV, this is not intended to be a requirement, so we may want to add test cases to migrations_with_mixed_fcv.js.

            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            2 Vote for this issue
            26 Start watching this issue