2009-12-28 13:05:11 -08:00
|
|
|
// perform inserts in parallel from several clients
|
2014-03-25 11:09:37 -04:00
|
|
|
load('jstests/libs/parallelTester.js')
|
2009-12-28 13:05:11 -08:00
|
|
|
|
2009-12-29 12:02:21 -08:00
|
|
|
f = db.jstests_parallel_insert;
|
2009-12-22 17:56:54 -08:00
|
|
|
f.drop();
|
2010-01-05 14:05:40 -08:00
|
|
|
f.ensureIndex( {who:1} );
|
2009-12-22 13:07:36 -08:00
|
|
|
|
2010-01-05 12:52:26 -08:00
|
|
|
Random.setRandomSeed();
|
2009-12-22 13:07:36 -08:00
|
|
|
|
2010-01-05 12:52:26 -08:00
|
|
|
t = new ParallelTester();
|
2009-12-22 15:08:17 -08:00
|
|
|
|
2010-01-05 14:05:40 -08:00
|
|
|
for( id = 0; id < 10; ++id ) {
|
2010-01-05 14:31:47 -08:00
|
|
|
var g = new EventGenerator( id, "jstests_parallel_insert", Random.randInt( 20 ) );
|
2010-01-04 17:03:34 -08:00
|
|
|
for( j = 0; j < 1000; ++j ) {
|
2010-01-05 14:05:40 -08:00
|
|
|
if ( j % 50 == 0 ) {
|
|
|
|
|
g.addCheckCount( j, {who:id} );
|
|
|
|
|
}
|
|
|
|
|
g.addInsert( { i:j, who:id } );
|
2010-01-04 17:03:34 -08:00
|
|
|
}
|
2010-01-05 14:05:40 -08:00
|
|
|
t.add( EventGenerator.dispatch, g.getEvents() );
|
2009-12-22 17:56:54 -08:00
|
|
|
}
|
|
|
|
|
|
2010-01-05 12:52:26 -08:00
|
|
|
t.run( "one or more tests failed" );
|
2009-12-28 12:03:47 -08:00
|
|
|
|
|
|
|
|
assert( f.validate().valid );
|