[SERVER-49544] Config server should send setFCV to all shards in parallel Created: 16/Jul/20  Updated: 12/Dec/23

Status: Backlog
Project: Core Server
Component/s: Sharding
Affects Version/s: 4.5.1
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Esha Maharishi (Inactive) Assignee: Backlog - Cluster Scalability
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-51108 Performance impact when enabling FCV 4.0 Closed
Related
related to SERVER-62065 Upgrade path from 3.6 to 4.0 can leav... Closed
Assigned Teams:
Cluster Scalability
Participants:
Case:

 Description   

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.


Generated at Thu Feb 08 05:20:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.