summaryrefslogtreecommitdiff
path: root/jstests/sharding/disable_autosplit.js
blob: 9b33623e9ec22530f6b624cf2f3e27ca64721061 (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
35
// Tests disabling of autosplit.
(function() {
'use strict';

load("jstests/sharding/libs/find_chunks_util.js");  // for findChunksByNs

var chunkSizeMB = 1;

// Autosplit is disabled by default, but specify it anyway in case the default changes,
// especially since it defaults to the enableBalancer setting.
var st = new ShardingTest(
    {shards: 1, mongos: 1, other: {chunkSize: chunkSizeMB, enableAutoSplit: false}});

var data = "x";
while (data.length < chunkSizeMB * 1024 * 1024) {
    data += data;
}

var mongos = st.s0;
var admin = mongos.getDB("admin");
var config = mongos.getDB("config");
var coll = mongos.getCollection("foo.bar");

assert.commandWorked(admin.runCommand({enableSharding: coll.getDB() + ""}));
assert.commandWorked(admin.runCommand({shardCollection: coll + "", key: {_id: 1}}));

for (var i = 0; i < 20; i++) {
    coll.insert({data: data});
}

// Make sure we haven't split
assert.eq(1, findChunksUtil.findChunksByNs(config, coll + "").count());

st.stop();
})();