summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristina <kristina@10gen.com>2012-10-12 13:54:33 -0400
committerKristina <kristina@10gen.com>2012-10-12 13:55:13 -0400
commitfd5cef9ff6475b67aadf95d25dec45875a670752 (patch)
tree8d13658a7ecdccd418e7521fcb3f8b7fd5f5f84f
parentdbaff09e6fa0be4db855125e8f1863a725ef7801 (diff)
downloadmongo-fd5cef9ff6475b67aadf95d25dec45875a670752.tar.gz
SERVER-1929 Fix test race condition
-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);