-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Cluster Scalability
-
Fully Compatible
-
ALL
-
v8.0, v7.3, v7.0, v6.0
-
Cluster Scalability 2024-6-10, Cluster Scalability 06/24/24, Cluster Scalability 2024-07-08, Cluster Scalability 2024-07-22
-
0
-
4
ShardingTest will merge its parameters object with its own "other" field. However, if both the regular field and the other variant of that field contain a setParameter object, the regular field will be clobbered in favor of the other field, instead of merging the parameters.
For example, the continuous stepdown suite sets the other config server log verbosity, and the resharding test fixture sets the regular critical section timeout. The resulting params object to ShardingTest looks like this:
{ "mongos": 1, "mongosOptions": { "setParameter": {} }, "config": 1, "configOptions": { "setParameter": { "reshardingCriticalSectionTimeoutMillis": 86400000 } }, "shards": 3, "rs": { "nodes": 2 }, "rsOptions": { "setParameter": { "maxNumberOfTransactionOperationsInSingleOplogEntry": 1 }, "oplogSize": 256 }, "configReplSetTestOptions": {}, "manualAddShard": true, "configShard": false, "other": { "configOptions": { "setParameter": { "logComponentVerbosity": "{\n\t\"verbosity\" : 0,\n\t\"command\" : {\n\t\t\"verbosity\" : 1\n\t},\n\t\"network\" : {\n\t\t\"verbosity\" : 1,\n\t\t\"asio\" : {\n\t\t\t\"verbosity\" : 2\n\t\t}\n\t},\n\t\"tracking\" : {\n\t\t\"verbosity\" : 0\n\t}\n}" } } } }
And after merging, it will look like this:
{ "mongos": 1, "mongosOptions": { "setParameter": {} }, "config": 1, "configOptions": { "setParameter": { "logComponentVerbosity": "{\n\t\"verbosity\" : 0,\n\t\"command\" : {\n\t\t\"verbosity\" : 1\n\t},\n\t\"network\" : {\n\t\t\"verbosity\" : 1,\n\t\t\"asio\" : {\n\t\t\t\"verbosity\" : 2\n\t\t}\n\t},\n\t\"tracking\" : {\n\t\t\"verbosity\" : 0\n\t}\n}" } }, "shards": 3, "rs": { "nodes": 2 }, "rsOptions": { "setParameter": { "maxNumberOfTransactionOperationsInSingleOplogEntry": 1 }, "oplogSize": 256 }, "configReplSetTestOptions": {}, "manualAddShard": true, "configShard": false, "other": { "configOptions": { "setParameter": { "logComponentVerbosity": "{\n\t\"verbosity\" : 0,\n\t\"command\" : {\n\t\t\"verbosity\" : 1\n\t},\n\t\"network\" : {\n\t\t\"verbosity\" : 1,\n\t\t\"asio\" : {\n\t\t\t\"verbosity\" : 2\n\t\t}\n\t},\n\t\"tracking\" : {\n\t\t\"verbosity\" : 0\n\t}\n}" } } } }
This has lead to at least one failure in BF-28593 where the critical section timed out due to the timeout parameter not being extended as expected.