diff options
author | Maria van Keulen <maria@mongodb.com> | 2018-05-25 11:37:57 -0400 |
---|---|---|
committer | Maria van Keulen <maria@mongodb.com> | 2018-06-04 16:34:31 -0400 |
commit | 52e32f10d3afb7b161747c7fac9a3cb2cf6bf618 (patch) | |
tree | 58aa6692acd25a53dfd3e730dc412cd98ef153a9 /src | |
parent | 229b3e3cc93c85810ccd9b8504e1f6e60514eb6d (diff) | |
download | mongo-52e32f10d3afb7b161747c7fac9a3cb2cf6bf618.tar.gz |
SERVER-34595 Increase transactionLifetimeLimitSeconds default in testing
(cherry picked from commit b82fe5e79018662c9c84e28b71034965d0dd836b)
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/shell/servers.js | 42 | ||||
-rw-r--r-- | src/mongo/shell/utils.js | 1 |
2 files changed, 25 insertions, 18 deletions
diff --git a/src/mongo/shell/servers.js b/src/mongo/shell/servers.js index 3e56a0a3aa4..2e6c927a75d 100644 --- a/src/mongo/shell/servers.js +++ b/src/mongo/shell/servers.js @@ -1071,6 +1071,14 @@ var MongoRunner, _startMongod, startMongoProgram, runMongoProgram, startMongoPro .length > 0); } + function argArrayContainsSetParameterValue(value) { + assert(value.endsWith("="), + "Expected value argument to be of the form <parameterName>="); + return argArray.some(function(el) { + return typeof el === "string" && el.startsWith(value); + }); + } + // programName includes the version, e.g., mongod-3.2. // baseProgramName is the program name without any version information, e.g., mongod. let programName = argArray[0]; @@ -1095,15 +1103,7 @@ var MongoRunner, _startMongod, startMongoProgram, runMongoProgram, startMongoPro } } if (jsTest.options().authMechanism && jsTest.options().authMechanism != "SCRAM-SHA-1") { - var hasAuthMechs = false; - for (var i in argArray) { - if (typeof argArray[i] === 'string' && - argArray[i].indexOf('authenticationMechanisms') != -1) { - hasAuthMechs = true; - break; - } - } - if (!hasAuthMechs) { + if (!argArrayContainsSetParameterValue('authenticationMechanisms=')) { argArray.push( ...['--setParameter', "authenticationMechanisms=" + jsTest.options().authMechanism]); @@ -1114,8 +1114,7 @@ var MongoRunner, _startMongod, startMongoProgram, runMongoProgram, startMongoPro } // New options in 3.5.x - if (!programVersion || (parseInt(programVersion.split(".")[0]) >= 3 && - parseInt(programVersion.split(".")[1]) >= 5)) { + if (!programMajorMinorVersion || programMajorMinorVersion >= 305) { if (jsTest.options().serviceExecutor) { if (!argArrayContains("--serviceExecutor")) { argArray.push(...["--serviceExecutor", jsTest.options().serviceExecutor]); @@ -1154,15 +1153,22 @@ var MongoRunner, _startMongod, startMongoProgram, runMongoProgram, startMongoPro } } - // TODO: Make this unconditional in 3.8. - if (!programMajorMinorVersion || programMajorMinorVersion > 304) { - let hasParam = false; - for (let arg of argArray) { - if (typeof arg === 'string' && arg.startsWith('orphanCleanupDelaySecs=')) { - hasParam = true; + // New mongod-specific options in 4.0.x + if (!programMajorMinorVersion || programMajorMinorVersion >= 400) { + if (jsTest.options().transactionLifetimeLimitSeconds !== undefined) { + if (!argArrayContainsSetParameterValue( + "transactionLifetimeLimitSeconds=")) { + argArray.push( + ...["--setParameter", + "transactionLifetimeLimitSeconds=" + + jsTest.options().transactionLifetimeLimitSeconds]); } } - if (!hasParam) { + } + + // TODO: Make this unconditional in 3.8. + if (!programMajorMinorVersion || programMajorMinorVersion > 304) { + if (!argArrayContainsSetParameterValue('orphanCleanupDelaySecs=')) { argArray.push(...['--setParameter', 'orphanCleanupDelaySecs=1']); } } diff --git a/src/mongo/shell/utils.js b/src/mongo/shell/utils.js index 6c2612a2b03..54ceb590ba5 100644 --- a/src/mongo/shell/utils.js +++ b/src/mongo/shell/utils.js @@ -313,6 +313,7 @@ jsTestOptions = function() { skipCheckDBHashes: TestData.skipCheckDBHashes || false, traceExceptions: TestData.hasOwnProperty("traceExceptions") ? TestData.traceExceptions : true, + transactionLifetimeLimitSeconds: TestData.transactionLifetimeLimitSeconds }); } return _jsTestOptions; |