-
Type:
Task
-
Resolution: Gone away
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
None
-
0
-
None
-
None
-
None
-
None
-
None
-
None
Currently, addShard only sends one setFCV command to the replica set being added. However, this node already has been restarted with --shardsvr and wrote the shard identity document which means it believes its role to be ClusterRole::ShardServer. This leaves us with an unexpected execution path for setFCV - we will run all phases at once since the phase is not included in the command, but we will pass the checks for being a shard server. Additionally, not including the phase means we are skipping the shard server phase 1 tasks entirely (we run this only if the phase is start or if we are a config server) and we will skip the timestamping which gives us replay protection.
It seems that most of the work done in shard server phase 1 tasks is draining of coordinators so we likely don't need to fix this on old versions, but in the new coordinator we should change the FCV in the correct way for a shard server and we should add an assertion that for shard servers, the phase is always specified.
- depends on
-
SERVER-101452 Handle FCV synchronization with addShard
-
- Closed
-
- related to
-
SERVER-103413 Require phase field during setFCV on shard servers
-
- Closed
-