2010-08-10 15:14:20 -07:00
|
|
|
t = db.jstests_evalc;
|
|
|
|
|
t.drop();
|
|
|
|
|
|
2016-02-04 12:29:01 -05:00
|
|
|
t2 = db.evalc_done;
|
|
|
|
|
t2.drop();
|
2011-04-26 00:54:50 -04:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
for (i = 0; i < 10; ++i) {
|
|
|
|
|
t.save({i: i});
|
2010-08-10 15:14:20 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// SERVER-1610
|
|
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
assert.eq(0, t2.count(), "X1");
|
2011-04-26 00:54:50 -04:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
s = startParallelShell(
|
|
|
|
|
"print( 'starting forked:' + Date() ); for ( i=0; i<10*1000; i++ ){ db.currentOp(); } print( 'ending forked:' + Date() ); db.evalc_done.insert( { x : 1 } ); ");
|
2010-08-10 15:14:20 -07:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
print("starting eval: " + Date());
|
2015-01-27 14:55:02 -05:00
|
|
|
assert.soon(function() {
|
2016-03-09 12:17:50 -05:00
|
|
|
db.eval("db.jstests_evalc.count( {i:10} );");
|
2015-01-27 14:55:02 -05:00
|
|
|
return t2.count() > 0;
|
|
|
|
|
}, 'parallel shell failed to update ' + t2.getFullName(), 120000, 10);
|
|
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
print("end eval: " + Date());
|
2010-08-10 15:14:20 -07:00
|
|
|
|
|
|
|
|
s();
|