summaryrefslogtreecommitdiff
path: root/jstests/core/explain3.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/explain3.js')
-rw-r--r--jstests/core/explain3.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/jstests/core/explain3.js b/jstests/core/explain3.js
new file mode 100644
index 00000000000..c205e57252c
--- /dev/null
+++ b/jstests/core/explain3.js
@@ -0,0 +1,23 @@
+/** SERVER-2451 Kill cursor while explain is yielding */
+
+t = db.jstests_explain3;
+t.drop();
+
+t.ensureIndex( {i:1} );
+for( var i = 0; i < 10000; ++i ) {
+ t.save( {i:i,j:0} );
+}
+
+s = startParallelShell( "sleep( 20 ); db.jstests_explain3.dropIndex( {i:1} );" );
+
+try {
+ t.find( {i:{$gt:-1},j:1} ).hint( {i:1} ).explain()
+} catch (e) {
+ print( "got exception" );
+ printjson( e );
+}
+
+s();
+
+// Sanity check to make sure mongod didn't seg fault.
+assert.eq( 10000, t.count() );