summaryrefslogtreecommitdiff
path: root/jstests/sharding/mr_noscripting.js
blob: bfca188f0b01ff82e28d64d57239fd5f14ac5915 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Tests that running mapReduce does not crash anything if the shards have scripting disabled.
// @tags: [requires_fcv_44]
(function() {
"use strict";
const shardOpts = [
    {noscripting: ''},
    {}  // just use default params
];

const st = new ShardingTest({shards: shardOpts});
const mongos = st.s;

const testDB = mongos.getDB('test');
const coll = testDB.bar;

// Shard the collection and make sure there is a chunk on each shard.
st.shardColl(coll.getName(), {x: 1}, {x: 0}, {x: 1});

assert.commandWorked(coll.insert({x: 1}));

const mapFn = function() {
    emit(this.x, 1);
};

const reduceFn = function(key, values) {
    return 1;
};

// TODO SERVER-42511 Remove the usage of internalQueryUseAggMapReduce.
assert.commandFailedWithCode(
    testDB.runCommand({mapreduce: 'bar', map: mapFn, reduce: reduceFn, out: {inline: 1}}), 31264);

st.stop();
}());