|
SERVER-62261 introduced a new set of cluster server parameter integration tests primarily intended to test that getClusterParameter works as intended for every cluster server parameter added into the server. It has a manual workaround for simulating setClusterParameter by directly performing writes rather than hooking into the command itself.
The simulated functions should be replaced with the real setClusterParameter invocation for replica sets. Once SERVER-63870 lands, this can be done for sharded clusters as well.
Additionally, setClusterParameter should write clusterParameterTime as a timestamp rather than a LogicalTime. LogicalTime serializes into a BSONObj that contains the timestamp nested within the first BSONElement, which causes issues when deserializing it in the ClusterServerParameterOpObserver.
Finally, setClusterParameter should be explicitly prohibited from running on any cluster mongod since internal-only commands are used to propagate a parameter after it is set from mongos. It should also be prohibited from running on standalones until SERVER-65249 is completed as part of Milestone 3.
|