summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jstests/replsets/stepdown.js4
-rwxr-xr-xjstests/replsets/stepdown2.js11
2 files changed, 10 insertions, 5 deletions
diff --git a/jstests/replsets/stepdown.js b/jstests/replsets/stepdown.js
index a28990780d7..4e19daa59aa 100644
--- a/jstests/replsets/stepdown.js
+++ b/jstests/replsets/stepdown.js
@@ -75,6 +75,8 @@ catch (e) {
print("\nawait");
replTest.awaitReplication();
+// 31000 may have just voted for 31001, preventing it from becoming primary for the first 30 seconds
+// of this assert.soon
assert.soon(function() {
try {
var result = master.getDB("admin").runCommand({isMaster: 1});
@@ -82,7 +84,7 @@ assert.soon(function() {
} catch (x) {
return false;
}
-});
+}, 'wait for 31000 to be primary', 60000);
master = replTest.getMaster();
var firstMaster = master;
diff --git a/jstests/replsets/stepdown2.js b/jstests/replsets/stepdown2.js
index 591fea25bb9..5c58d01b93d 100755
--- a/jstests/replsets/stepdown2.js
+++ b/jstests/replsets/stepdown2.js
@@ -80,7 +80,7 @@ catch (e) {
print(e);
}
-print("\nget a master");
+print("\nget new master (31001)");
replTest.getMaster();
assert.soon(function() {
@@ -89,7 +89,7 @@ assert.soon(function() {
}, 'making sure '+firstMaster+' isn\'t still master', 60000);
-print("\ncheck shutdown command");
+print("\ncheck shutdown command on 31000");
master = replTest.liveNodes.master;
var slave = replTest.liveNodes.slaves[0];
@@ -102,9 +102,12 @@ catch (e) {
print(e);
}
-print("\nsleeping");
+print("\nwait until 31001 knows 31000 is down");
-sleep(2000);
+assert.soon(function() {
+ var result = master.adminCommand({replSetGetStatus: 1});
+ return result.members[0].health == 0;
+});
print("\nrunning shutdown without force on master: "+master);