2009-04-22 15:57:26 -04:00
|
|
|
// Test auto reclone after failed initial clone
|
2009-03-18 13:45:32 -04:00
|
|
|
|
|
|
|
|
soonCountAtLeast = function( db, coll, count ) {
|
|
|
|
|
assert.soon( function() {
|
|
|
|
|
// print( "count: " + s.getDB( db )[ coll ].find().count() );
|
2015-06-22 09:59:14 -04:00
|
|
|
return s.getDB( db )[ coll ].find().itcount() >= count;
|
2009-03-18 13:45:32 -04:00
|
|
|
} );
|
|
|
|
|
}
|
|
|
|
|
|
2012-08-07 17:55:34 -04:00
|
|
|
doTest = function(signal, extraOpts) {
|
2009-04-01 18:21:07 -04:00
|
|
|
|
2009-12-09 17:38:48 -08:00
|
|
|
rt = new ReplTest( "repl5tests" );
|
2009-03-18 13:45:32 -04:00
|
|
|
|
2009-12-09 17:38:48 -08:00
|
|
|
m = rt.start( true );
|
2009-03-18 13:45:32 -04:00
|
|
|
|
|
|
|
|
ma = m.getDB( "a" ).a;
|
2014-05-14 14:11:11 -04:00
|
|
|
var bulk = ma.initializeUnorderedBulkOp();
|
2009-03-18 13:45:32 -04:00
|
|
|
for( i = 0; i < 10000; ++i )
|
2014-05-14 14:11:11 -04:00
|
|
|
bulk.insert({ i: i });
|
|
|
|
|
assert.writeOK(bulk.execute());
|
2009-03-18 13:45:32 -04:00
|
|
|
|
2012-08-07 17:55:34 -04:00
|
|
|
s = rt.start(false, extraOpts);
|
2009-03-18 13:45:32 -04:00
|
|
|
soonCountAtLeast( "a", "a", 1 );
|
2009-12-09 17:38:48 -08:00
|
|
|
rt.stop( false, signal );
|
2009-03-18 13:45:32 -04:00
|
|
|
|
2012-08-07 17:55:34 -04:00
|
|
|
s = rt.start(false, extraOpts, true);
|
2009-03-18 13:45:32 -04:00
|
|
|
sleep( 1000 );
|
2009-04-22 15:57:26 -04:00
|
|
|
soonCountAtLeast( "a", "a", 10000 );
|
2009-03-18 13:45:32 -04:00
|
|
|
|
2009-12-09 17:38:48 -08:00
|
|
|
rt.stop();
|
2009-03-18 13:45:32 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
doTest( 15 ); // SIGTERM
|
2012-08-07 17:55:34 -04:00
|
|
|
doTest(9, { journal: null }); // SIGKILL
|