summaryrefslogtreecommitdiff
path: root/jstests/replsets/rollback.js
diff options
context:
space:
mode:
authorKristina <kristina@10gen.com>2012-05-17 00:34:03 -0400
committerKristina <kristina@10gen.com>2012-05-17 00:34:03 -0400
commit77a14a14b04d959a5e5bdb2aa116646b2a59bded (patch)
tree6598c13ae3b72c3e6e2ad95f463f23e66fd863ec /jstests/replsets/rollback.js
parentf122115c48b766156c7735d70ee5a2277a4c1689 (diff)
downloadmongo-77a14a14b04d959a5e5bdb2aa116646b2a59bded.tar.gz
Fix timing issues on a couple of tests
Diffstat (limited to 'jstests/replsets/rollback.js')
-rw-r--r--jstests/replsets/rollback.js27
1 files changed, 16 insertions, 11 deletions
diff --git a/jstests/replsets/rollback.js b/jstests/replsets/rollback.js
index 7ee48c1afcc..7ec3810fbdc 100644
--- a/jstests/replsets/rollback.js
+++ b/jstests/replsets/rollback.js
@@ -1,7 +1,7 @@
// test rollback in replica sets
// try running as :
-//
+//
// mongo --nodb rollback.js | tee out | grep -v ^m31
//
@@ -9,7 +9,7 @@ var debugging = 0;
function ifReady(db, f) {
var stats = db.adminCommand({ replSetGetStatus: 1 });
-
+
// only eval if state isn't recovery
if (stats && stats.myState != 3) {
@@ -27,10 +27,10 @@ function pause(s) {
}
}
-function deb(obj) {
+function deb(obj) {
if( debugging ) {
print("\n\n\n" + obj + "\n\n");
- }
+ }
}
w = 0;
@@ -138,7 +138,7 @@ doTest = function (signal) {
print("*************** B ****************");
wait(function () { try { return !B.isMaster().ismaster; } catch(e) { return false; } });
print("*************** A ****************");
- reconnect(a,b);
+ reconnect(a,b);
wait(function () {
try {
return A.isMaster().ismaster;
@@ -163,17 +163,22 @@ doTest = function (signal) {
// A is 1 2 3 7 8
// B is 1 2 3 4 5 6
- // bring B back online
+ // bring B back online
B.runCommand({ replSetTest: 1, blind: false });
reconnect(a,b);
- wait(function () { return B.isMaster().ismaster || B.isMaster().secondary; });
+ assert.soon(function() {
+ return (A.isMaster().ismaster || A.isMaster().secondary) &&
+ (B.isMaster().ismaster || B.isMaster().secondary);
+ });
- // everyone is up here...
- assert(A.isMaster().ismaster || A.isMaster().secondary, "A up");
- assert(B.isMaster().ismaster || B.isMaster().secondary, "B up");
replTest.awaitReplication();
+ assert.soon(function() {
+ return (A.isMaster().ismaster || A.isMaster().secondary) &&
+ (B.isMaster().ismaster || B.isMaster().secondary);
+ });
+
friendlyEqual(a.bar.find().sort({ _id: 1 }).toArray(), b.bar.find().sort({ _id: 1 }).toArray(), "server data sets do not match");
pause("rollback.js SUCCESS");
@@ -182,7 +187,7 @@ doTest = function (signal) {
var reconnect = function(a,b) {
- wait(function() {
+ wait(function() {
try {
a.bar.stats();
b.bar.stats();