Browse files

SERVER-5384 segfault attempting mapreduce with --noscripting

  • Loading branch information...
1 parent 05b07da commit b39c6a7e185aa19a8029b27a24f27936634b9c17 @renctan renctan committed with andy10gen Apr 13, 2012
Showing with 25 additions and 0 deletions.
  1. +1 −0 db/commands/mr.cpp
  2. +24 −0 jstests/mr_noscripting.js
View
1 db/commands/mr.cpp
@@ -940,6 +940,7 @@ namespace mongo {
log(1) << "mr ns: " << config.ns << endl;
+ uassert( 16149 , "cannot run map reduce without the js engine", globalScriptEngine );
bool shouldHaveData = false;
long long num = 0;
View
24 jstests/mr_noscripting.js
@@ -0,0 +1,24 @@
+var conn = MongoRunner.runMongod({ noscripting: '' });
+var testDB = conn.getDB( 'foo' );
+var coll = testDB.bar;
+
+coll.insert({ x: 1 });
+
+var map = function() {
+ emit( this.x, 1 );
+};
+
+var reduce = function( key, values ) {
+ return 1;
+};
+
+var mrResult = testDB.runCommand({ mapReduce: 'bar', map: map, reduce: reduce,
+ out: { inline: 1 }});
+
+assert.eq( 0, mrResult.ok, 'mr result: ' + tojson( mrResult ));
+
+// Confirm that mongod did not crash
+var cmdResult = testDB.adminCommand({ serverStatus: 1 });
+assert( cmdResult.ok, 'serverStatus failed, result: ' +
+ tojson( cmdResult ));
+

0 comments on commit b39c6a7

Please sign in to comment.