-
Type: Question
-
Resolution: Duplicate
-
Priority: Minor - P4
-
None
-
Affects Version/s: 4.0.15
-
Component/s: None
-
None
Hello,
We have a quite large cluster (over 20 shards / multiple databases and collections / config database having over 1M documents in chunk collection) . We've observed impact during setting FCV to 4.0 on such a cluster while the whole cluster "freezes" when cache chunks are refreshed on each shard.
============
My understanding of the setting of FCV in case of 4.0 is:
- FCV is triggered on mongos : https://github.com/mongodb/mongo/blob/91e3352a1aa717674575fce3cc6edb2f279a4479/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp
- mongos sends the command to config servers: https://github.com/mongodb/mongo/blob/91e3352a1aa717674575fce3cc6edb2f279a4479/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp#L94
- config replicaset executes https://github.com/mongodb/mongo/blob/v4.0/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
- it does that through the block dedicated to config server: https://github.com/mongodb/mongo/blob/v4.0/src/mongo/db/commands/set_feature_compatibility_version_command.cpp#L184
- Within this block config will update to new FCV and trigger upgradeChunksHistory for each collection.
- It will trigger the upgrade of FCV on each shard: https://github.com/mongodb/mongo/blob/v4.0/src/mongo/db/commands/set_feature_compatibility_version_command.cpp#L226.
- setting FCV on config replicaset.
===============================
Upgrade was performed from 3.6.10 to 4.0.15.
Is there any way to mitigate the impact of enabling FCV on large cluster with lots of chunks?
Thank you,
Cristian
- is duplicated by
-
SERVER-49544 Config server should send setFCV to all shards in parallel
- Backlog