1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
// SERVER-2843 The repair command should not yield.
baseName = "jstests_repair2";
t = db.getSisterDB( baseName )[ baseName ];
t.drop();
function protect( f ) {
try {
f();
} catch( e ) {
printjson( e );
}
}
s = startParallelShell( "db = db.getSisterDB( '" + baseName + "'); for( i = 0; i < 10; ++i ) { db.repairDatabase(); sleep( 5000 ); }" );
for( i = 0; i < 30; ++i ) {
for( j = 0; j < 5000; ++j ) {
protect( function() { t.insert( {_id:j} ); } );
}
for( j = 0; j < 5000; ++j ) {
protect( function() { t.remove( {_id:j} ); } );
}
assert.eq( 0, t.count() );
}
|