summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Jesse Jiryu Davis <jesse@mongodb.com>2020-01-10 19:21:41 +0000
committerevergreen <evergreen@mongodb.com>2020-01-10 19:21:41 +0000
commit205998b8e452cc18e27b9226d5b38f2fccaa02b8 (patch)
treef9c9423c886c53ad88ab2711b481e4df49ba90ff
parent709d181a3aa6a05b87eef9bca76ec1caadbdf73e (diff)
downloadmongo-205998b8e452cc18e27b9226d5b38f2fccaa02b8.tar.gz
SERVER-44503 Fix race in replsets/auth2.js
(cherry picked from commit b526ac445bb0b39b53bd291ef6d23a73a38a1f11)
-rw-r--r--jstests/replsets/auth2.js23
1 files changed, 10 insertions, 13 deletions
diff --git a/jstests/replsets/auth2.js b/jstests/replsets/auth2.js
index b2eed7b4f1a..e0e888c9f28 100644
--- a/jstests/replsets/auth2.js
+++ b/jstests/replsets/auth2.js
@@ -10,22 +10,18 @@ TestData.skipGossipingClusterTime = true;
(function() {
var testInvalidAuthStates = function(replSetTest) {
- print("check that 0 is in recovering");
+ jsTestLog("check that 0 is in recovering");
replSetTest.waitForState(replSetTest.nodes[0], ReplSetTest.State.RECOVERING);
- print("shut down 1, 0 still in recovering.");
+ jsTestLog("shut down 1, 0 still in recovering.");
replSetTest.stop(1);
sleep(5);
replSetTest.waitForState(replSetTest.nodes[0], ReplSetTest.State.RECOVERING);
- print("shut down 2, 0 becomes a secondary.");
+ jsTestLog("shut down 2, 0 becomes a secondary.");
replSetTest.stop(2);
-
replSetTest.waitForState(replSetTest.nodes[0], ReplSetTest.State.SECONDARY);
-
- replSetTest.restart(1, {"keyFile": key1});
- replSetTest.restart(2, {"keyFile": key1});
};
var name = "rs_auth2";
@@ -49,12 +45,12 @@ replSetTest.initiate({
var master = replSetTest.getPrimary();
-print("add an admin user");
+jsTestLog("add an admin user");
master.getDB("admin").createUser({user: "foo", pwd: "bar", roles: jsTest.adminUserRoles},
{w: 3, wtimeout: replSetTest.kDefaultTimeoutMS});
var m = replSetTest.nodes[0];
-print("starting 1 and 2 with key file");
+jsTestLog("starting 1 and 2 with key file");
replSetTest.stop(1);
replSetTest.restart(1, {"keyFile": key1});
replSetTest.stop(2);
@@ -65,19 +61,20 @@ replSetTest.nodes[1].getDB("admin").auth("foo", "bar");
replSetTest.nodes[2].getDB("admin").auth("foo", "bar");
testInvalidAuthStates(replSetTest);
-print("restart mongod with bad keyFile");
+jsTestLog("restart mongod with bad keyFile");
replSetTest.stop(0);
m = replSetTest.restart(0, {"keyFile": key2});
+jsTestLog("restart nodes 1 and 2");
+replSetTest.restart(1, {"keyFile": key1});
+replSetTest.restart(2, {"keyFile": key1});
+
// auth to all nodes
replSetTest.nodes[0].getDB("admin").auth("foo", "bar");
replSetTest.nodes[1].getDB("admin").auth("foo", "bar");
replSetTest.nodes[2].getDB("admin").auth("foo", "bar");
testInvalidAuthStates(replSetTest);
-replSetTest.stop(0);
-m = replSetTest.restart(0, {"keyFile": key1});
-
replSetTest.stopSet();
}());