summaryrefslogtreecommitdiff
path: root/jstests/sharding/hash_shard_non_empty.js
blob: 1ea2f7a1bd468d76f570d1021ffe6212daa8a329 (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
// Hash sharding on a non empty collection should not pre-split.

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

var s = new ShardingTest({name: jsTestName(), shards: 3, mongos: 1, verbose: 1});
var dbname = "test";
var coll = "foo";
var db = s.getDB(dbname);
db.adminCommand({enablesharding: dbname});
s.ensurePrimaryShard('test', s.shard1.shardName);

// for simplicity turn off balancer
s.stopBalancer();

db.getCollection(coll).insert({a: 1});

db.getCollection(coll).createIndex({a: "hashed"});
var res = db.adminCommand({shardcollection: dbname + "." + coll, key: {a: "hashed"}});
assert.eq(res.ok, 1, "shardcollection didn't work");
s.printShardingStatus();
var numChunks = findChunksUtil.countChunksForNs(s.config, "test.foo");
assert.eq(numChunks, 1, "sharding non-empty collection should not pre-split");

s.stop();