summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Chan <jason.chan@10gen.com>2021-05-17 16:38:28 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-05-19 18:20:34 +0000
commit27b2ba46fe86aff0cf8170f35301bf43bda99204 (patch)
tree3e692eb6586824f9e902379d3e004db6b485982d /src
parente7d8d1958b17a923d8b9fafb93b00765aaaf799c (diff)
downloadmongo-27b2ba46fe86aff0cf8170f35301bf43bda99204.tar.gz
SERVER-47509 resmoke accepts multiple "mongodSetParameters" options but only uses the last one.
This commit also cherry-picks the following. SERVER-39448 Make resmoke pass TestData.setParametersMongos to mongo shell as a JavaScript object (cherry picked from commit f998d1f6bd1d74a815e1bbe6e984c8e73da8398d)
Diffstat (limited to 'src')
-rw-r--r--src/mongo/shell/servers.js20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/mongo/shell/servers.js b/src/mongo/shell/servers.js
index 0d2f3adad7a..e9334c4b8d8 100644
--- a/src/mongo/shell/servers.js
+++ b/src/mongo/shell/servers.js
@@ -1114,12 +1114,20 @@ var MongoRunner, _startMongod, startMongoProgram, runMongoProgram, startMongoPro
if (programName.endsWith('mongos')) {
// apply setParameters for mongos
if (jsTest.options().setParametersMongos) {
- var params = jsTest.options().setParametersMongos.split(",");
- if (params && params.length > 0) {
- params.forEach(function(p) {
- if (p)
- argArray.push(...['--setParameter', p]);
- });
+ let params = jsTest.options().setParametersMongos;
+ for (let paramName of Object.keys(params)) {
+ // Only set the 'logComponentVerbosity' parameter if it has not already
+ // been specified in the given argument array. This means that any
+ // 'logComponentVerbosity' settings passed through via TestData will
+ // always be overridden by settings passed directly to MongoRunner from
+ // within the shell.
+ if (paramName === "logComponentVerbosity" &&
+ argArrayContains("logComponentVerbosity")) {
+ continue;
+ }
+ const paramVal = params[paramName];
+ const setParamStr = paramName + "=" + JSON.stringify(paramVal);
+ argArray.push(...['--setParameter', setParamStr]);
}
}
} else if (baseProgramName === 'mongod') {