summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Gorman <bernard.gorman@gmail.com>2020-10-09 13:46:04 +0100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-10-16 11:31:15 +0000
commit19bef363124a342208b7ba6cdb558285427e78e0 (patch)
treeb36ace3cbdefbbef8a9163431ffb2ae90b029730
parent070b70d8ef2d77d967fc5ae8afd984f1bd46adc7 (diff)
downloadmongo-19bef363124a342208b7ba6cdb558285427e78e0.tar.gz
SERVER-49423 Do not set coordinateCommitReturnImmediatelyAfterPersistingDecision in change stream multiversion suites
-rw-r--r--buildscripts/resmokelib/core/programs.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/buildscripts/resmokelib/core/programs.py b/buildscripts/resmokelib/core/programs.py
index 0cc8aafa3bc..f96ca42b213 100644
--- a/buildscripts/resmokelib/core/programs.py
+++ b/buildscripts/resmokelib/core/programs.py
@@ -154,11 +154,18 @@ def mongod_program( # pylint: disable=too-many-branches,too-many-statements
suite_set_parameters["disableLogicalSessionCacheRefresh"] = True
# Set coordinateCommitReturnImmediatelyAfterPersistingDecision to false so that tests do
- # not need to rely on causal consistency or explicity wait for the transaction to finish
- # committing.
+ # not need to rely on causal consistency or explicitly wait for the transaction to finish
+ # committing. If we are running LAST_LTS mongoD and the test suite has explicitly set the
+ # coordinateCommitReturnImmediatelyAfterPersistingDecision parameter, we remove it from
+ # the setParameter list, since coordinateCommitReturnImmediatelyAfterPersistingDecision
+ # does not exist prior to 4.7.
+ # TODO(SERVER-51682): remove the 'elif' clause on master when 5.0 becomes LAST_LTS.
if executable != LAST_LTS_MONGOD_BINARY and \
"coordinateCommitReturnImmediatelyAfterPersistingDecision" not in suite_set_parameters:
suite_set_parameters["coordinateCommitReturnImmediatelyAfterPersistingDecision"] = False
+ elif executable == LAST_LTS_MONGOD_BINARY and \
+ "coordinateCommitReturnImmediatelyAfterPersistingDecision" in suite_set_parameters:
+ del suite_set_parameters["coordinateCommitReturnImmediatelyAfterPersistingDecision"]
# There's a periodic background thread that checks for and aborts expired transactions.
# "transactionLifetimeLimitSeconds" specifies for how long a transaction can run before expiring