diff options
Diffstat (limited to 'jstests/repl/repl3.js')
-rw-r--r-- | jstests/repl/repl3.js | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/jstests/repl/repl3.js b/jstests/repl/repl3.js index d3c3848..5ace9b6 100644 --- a/jstests/repl/repl3.js +++ b/jstests/repl/repl3.js @@ -10,38 +10,42 @@ soonCount = function( count ) { } ); } -doTest = function( signal ) { - - rt = new ReplTest( "repl3tests" ); - - m = rt.start( true ); - s = rt.start( false ); - - am = m.getDB( baseName ).a - - am.save( { _id: new ObjectId() } ); - soonCount( 1 ); - rt.stop( false, signal ); - - big = new Array( 2000 ).toString(); - for( i = 0; i < 1000; ++i ) - am.save( { _id: new ObjectId(), i: i, b: big } ); - - s = rt.start( false, { autoresync: null }, true ); - +doTest = function (signal) { + + print("repl3.js doTest(" + signal + ")") + + rt = new ReplTest("repl3tests"); + + m = rt.start(true); + s = rt.start(false); + + am = m.getDB(baseName).a + + am.save({ _id: new ObjectId() }); + soonCount(1); + rt.stop(false, signal); + + big = new Array(2000).toString(); + for (i = 0; i < 1000; ++i) + am.save({ _id: new ObjectId(), i: i, b: big }); + + s = rt.start(false, { autoresync: null }, true); + // after SyncException, mongod waits 10 secs. - sleep( 15000 ); - + sleep(15000); + // Need the 2 additional seconds timeout, since commands don't work on an 'allDead' node. - soonCount( 1001 ); - as = s.getDB( baseName ).a - assert.eq( 1, as.find( { i: 0 } ).count() ); - assert.eq( 1, as.find( { i: 999 } ).count() ); - - assert.commandFailed( s.getDB( "admin" ).runCommand( { "resync" : 1 } ) ); + soonCount(1001); + as = s.getDB(baseName).a + assert.eq(1, as.find({ i: 0 }).count()); + assert.eq(1, as.find({ i: 999 }).count()); + + assert.commandFailed(s.getDB("admin").runCommand({ "resync": 1 })); rt.stop(); } doTest( 15 ); // SIGTERM doTest( 9 ); // SIGKILL + +print("repl3.js OK") |