From 8d913e98e8058c6322975a858f884a769735bb43 Mon Sep 17 00:00:00 2001 From: Antonin Kral Date: Thu, 7 Apr 2011 07:35:46 +0200 Subject: Imported Upstream version 1.8.1 --- jstests/slowNightly/explain1.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 jstests/slowNightly/explain1.js (limited to 'jstests/slowNightly/explain1.js') diff --git a/jstests/slowNightly/explain1.js b/jstests/slowNightly/explain1.js new file mode 100644 index 0000000..81baeb6 --- /dev/null +++ b/jstests/slowNightly/explain1.js @@ -0,0 +1,17 @@ +// SERVER-2662 - drop client cursor in a context where query will yield frequently + +t = db.jstests_slowNightly_explain1; +t.drop(); + +// Periodically drops the collection, invalidating client cursors for s2's operations. +s1 = startParallelShell( "t = db.jstests_slowNightly_explain1; for( var i = 0; i < 80; ++i ) { t.drop(); t.ensureIndex({x:1}); for( var j = 0; j < 1000; ++j ) { t.save( {x:j,y:1} ) }; sleep( 100 ); }" ); + +// Query repeatedly. +s2 = startParallelShell( "t = db.jstests_slowNightly_explain1; for( var i = 0; i < 500; ++i ) { try { z = t.find( {x:{$gt:0},y:1} ).explain(); t.count( {x:{$gt:0},y:1} ); } catch( e ) {} }" ); + +// Put pressure on s2 to yield more often. +s3 = startParallelShell( "t = db.jstests_slowNightly_explain1; for( var i = 0; i < 200; ++i ) { t.validate({scandata:true}); }" ); + +s1(); +s2(); +s3(); -- cgit v1.2.3