42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
var shardOpts = [
|
|
{ noscripting: '' },
|
|
{ } // just use default params
|
|
];
|
|
|
|
var st = new ShardingTest({ shards: shardOpts, other: { nopreallocj: 1 }});
|
|
var mongos = st.s;
|
|
|
|
st.shardColl('bar', { x: 1 });
|
|
|
|
var testDB = mongos.getDB('test');
|
|
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 mongos did not crash
|
|
assert(testDB.adminCommand({ serverStatus: 1 }).ok);
|
|
|
|
// Confirm that the rest of the shards did not crash
|
|
mongos.getDB('config').shards.find().forEach(function (shardDoc){
|
|
var shardConn = new Mongo(shardDoc.host);
|
|
var adminDB = shardConn.getDB('admin');
|
|
var cmdResult = adminDB.runCommand({ serverStatus: 1 });
|
|
|
|
assert(cmdResult.ok, 'serverStatus on ' + shardDoc.host +
|
|
' failed, result: ' + tojson(cmdResult));
|
|
});
|
|
|