diff options
author | Kristina <kristina@10gen.com> | 2012-05-17 00:34:03 -0400 |
---|---|---|
committer | Kristina <kristina@10gen.com> | 2012-05-17 00:34:03 -0400 |
commit | 77a14a14b04d959a5e5bdb2aa116646b2a59bded (patch) | |
tree | 6598c13ae3b72c3e6e2ad95f463f23e66fd863ec /jstests/replsets/rollback.js | |
parent | f122115c48b766156c7735d70ee5a2277a4c1689 (diff) | |
download | mongo-77a14a14b04d959a5e5bdb2aa116646b2a59bded.tar.gz |
Fix timing issues on a couple of tests
Diffstat (limited to 'jstests/replsets/rollback.js')
-rw-r--r-- | jstests/replsets/rollback.js | 27 |
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(); |