summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilly Donahue <billy.donahue@mongodb.com>2022-04-05 16:56:19 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-04-05 18:42:51 +0000
commitf2558a0fcc9bfa1c3013b3ae87e45973e5f28a69 (patch)
tree512b36fdd4ec93c6cf276e65779338362bd7d8b7
parenteb50fa0cfae6785aa9748965d51fbf25314bee0c (diff)
downloadmongo-f2558a0fcc9bfa1c3013b3ae87e45973e5f28a69.tar.gz
SERVER-65247 make set_param1.js resilient against concurrent FailPoint manipulation
-rw-r--r--jstests/core/set_param1.js23
1 files changed, 15 insertions, 8 deletions
diff --git a/jstests/core/set_param1.js b/jstests/core/set_param1.js
index e1d2c496343..3e4b85180a1 100644
--- a/jstests/core/set_param1.js
+++ b/jstests/core/set_param1.js
@@ -6,16 +6,23 @@
// Tests for accessing logLevel server parameter using getParameter/setParameter commands
// and shell helpers.
-old = db.adminCommand({"getParameter": "*"});
+function scrub(obj) {
+ delete obj["operationTime"];
+ delete obj["$clusterTime"];
+ // There are Failpoint manipulations in concurrent tasks in the jstest
+ // environment. So scrub the volatile "failpoint." parameters.
+ for (let key in obj)
+ if (key.startsWith("failpoint."))
+ delete obj[key];
+ return obj;
+}
+
+old = scrub(assert.commandWorked(db.adminCommand({"getParameter": "*"})));
// the first time getParameter sends a request to with a shardingTaskExecutor and this sets an
// operationTime. The following commands do not use shardingTaskExecutor.
-delete old["operationTime"];
-delete old["$clusterTime"];
-tmp1 = db.adminCommand({"setParameter": 1, "logLevel": 5});
-tmp2 = db.adminCommand({"setParameter": 1, "logLevel": old.logLevel});
-now = db.adminCommand({"getParameter": "*"});
-delete now["operationTime"];
-delete now["$clusterTime"];
+tmp1 = assert.commandWorked(db.adminCommand({"setParameter": 1, "logLevel": 5}));
+tmp2 = assert.commandWorked(db.adminCommand({"setParameter": 1, "logLevel": old.logLevel}));
+now = scrub(assert.commandWorked(db.adminCommand({"getParameter": "*"})));
assert.eq(old, now, "A");
assert.eq(old.logLevel, tmp1.was, "B");