diff options
Diffstat (limited to 'jstests/sharding/hash_shard_num_chunks.js')
-rw-r--r-- | jstests/sharding/hash_shard_num_chunks.js | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/jstests/sharding/hash_shard_num_chunks.js b/jstests/sharding/hash_shard_num_chunks.js index 608e7c7674c..01b140f1583 100644 --- a/jstests/sharding/hash_shard_num_chunks.js +++ b/jstests/sharding/hash_shard_num_chunks.js @@ -1,21 +1,24 @@ // Hash sharding with initial chunk count set. -// @tags : [ hashed ] +// @tags: [ hashed ] + +(function() { + +var s = new ShardingTest({ shards: 3, mongos: 1, verbose: 1 }); +s.stopBalancer(); -var s = new ShardingTest({ shards : 3, mongos : 1, verbose : 1 }); var dbname = "test"; var coll = "foo"; var db = s.getDB(dbname); -db.adminCommand({ enablesharding : dbname }); + +assert.commandWorked(db.adminCommand({ enablesharding: dbname })); s.ensurePrimaryShard(dbname, 'shard0001'); -//for simplicity turn off balancer -s.stopBalancer(); +assert.commandWorked(db.adminCommand({ shardcollection: dbname + "." + coll, + key: { a: "hashed" }, + numInitialChunks: 500 })); -var res = db.adminCommand({ shardcollection : dbname + "." + coll, - key : { a : "hashed" }, - numInitialChunks : 500 }); -assert.eq(res.ok, 1, "shardcollection didn't work"); db.printShardingStatus(); + var numChunks = s.config.chunks.count(); assert.eq(numChunks, 500 , "should be exactly 500 chunks"); @@ -23,15 +26,16 @@ var shards = s.config.shards.find(); shards.forEach( // check that each shard has one third the numInitialChunks function (shard){ - var numChunksOnShard = s.config.chunks.find({"shard" : shard._id}).count(); + var numChunksOnShard = s.config.chunks.find({"shard": shard._id}).count(); assert.gte(numChunksOnShard, Math.floor(500/3)); } ); -// Check that the collection gets dropped correctly (which doesn't happen if pre-splitting -// fails to create the collection on all shards). -res = db.runCommand({ "drop" : coll }); +// Check that the collection gets dropped correctly (which doesn't happen if pre-splitting fails to +// create the collection on all shards). +res = db.runCommand({ "drop": coll }); assert.eq(res.ok, 1, "couldn't drop empty, pre-split collection"); s.stop(); +})(); |