diff options
author | A. Jesse Jiryu Davis <jesse@mongodb.com> | 2020-01-10 19:21:41 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2020-01-10 19:21:41 +0000 |
commit | 205998b8e452cc18e27b9226d5b38f2fccaa02b8 (patch) | |
tree | f9c9423c886c53ad88ab2711b481e4df49ba90ff | |
parent | 709d181a3aa6a05b87eef9bca76ec1caadbdf73e (diff) | |
download | mongo-205998b8e452cc18e27b9226d5b38f2fccaa02b8.tar.gz |
SERVER-44503 Fix race in replsets/auth2.js
(cherry picked from commit b526ac445bb0b39b53bd291ef6d23a73a38a1f11)
-rw-r--r-- | jstests/replsets/auth2.js | 23 |
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(); }()); |