diff options
Diffstat (limited to 'jstests/sharding/hash_basic.js')
-rw-r--r-- | jstests/sharding/hash_basic.js | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/jstests/sharding/hash_basic.js b/jstests/sharding/hash_basic.js index d7599488695..e4bf6ded27b 100644 --- a/jstests/sharding/hash_basic.js +++ b/jstests/sharding/hash_basic.js @@ -1,25 +1,27 @@ -var st = new ShardingTest({ shards: 2, chunkSize: 1 }); +var st = new ShardingTest({shards: 2, chunkSize: 1}); var testDB = st.s.getDB('test'); -testDB.adminCommand({ enableSharding: 'test' }); +testDB.adminCommand({enableSharding: 'test'}); st.ensurePrimaryShard('test', 'shard0001'); -testDB.adminCommand({ shardCollection: 'test.user', key: { x: 'hashed' }}); +testDB.adminCommand({shardCollection: 'test.user', key: {x: 'hashed'}}); var configDB = st.s.getDB('config'); var chunkCountBefore = configDB.chunks.count(); assert.gt(chunkCountBefore, 1); for (var x = 0; x < 1000; x++) { - testDB.user.insert({ x: x }); + testDB.user.insert({x: x}); } // For debugging (function() { - var chunkList = configDB.chunks.find().sort({ min: -1 }).toArray(); - chunkList.forEach(function(chunk) { chunk.count = 0; }); + var chunkList = configDB.chunks.find().sort({min: -1}).toArray(); + chunkList.forEach(function(chunk) { + chunk.count = 0; + }); for (var x = 0; x < 1000; x++) { - var hashVal = testDB.adminCommand({ _hashBSONElement: x }).out; + var hashVal = testDB.adminCommand({_hashBSONElement: x}).out; var countSet = false; for (var y = 0; y < chunkList.length - 2; y++) { @@ -28,8 +30,7 @@ for (var x = 0; x < 1000; x++) { countSet = true; chunkDoc.count++; - print('doc in chunk: x [' + x + '], h[' + hashVal + - '], min[' + chunkDoc.min.x + + print('doc in chunk: x [' + x + '], h[' + hashVal + '], min[' + chunkDoc.min.x + '], max[' + chunkDoc.max.x + ']'); break; } @@ -37,8 +38,7 @@ for (var x = 0; x < 1000; x++) { if (!countSet) { chunkDoc = chunkList[chunkList.length - 1]; - print('doc in chunk: x [' + x + '], h[' + hashVal + - '], min[' + chunkDoc.min.x + + print('doc in chunk: x [' + x + '], h[' + hashVal + '], min[' + chunkDoc.min.x + '], max[' + chunkDoc.max.x + ']'); chunkDoc.count++; } @@ -49,40 +49,40 @@ for (var x = 0; x < 1000; x++) { }); }); -var chunkDoc = configDB.chunks.find().sort({ min: 1 }).next(); +var chunkDoc = configDB.chunks.find().sort({min: 1}).next(); var min = chunkDoc.min; var max = chunkDoc.max; // Assumption: There are documents in the MinKey chunk, otherwise, splitVector will // fail. Note: This chunk will have 267 documents if collection was presplit to 4. -var cmdRes = testDB.adminCommand({ split: 'test.user', bounds: [ min, max ]}); -assert(cmdRes.ok, 'split on bounds failed on chunk[' + tojson(chunkDoc) + - ']: ' + tojson(cmdRes)); +var cmdRes = testDB.adminCommand({split: 'test.user', bounds: [min, max]}); +assert(cmdRes.ok, 'split on bounds failed on chunk[' + tojson(chunkDoc) + ']: ' + tojson(cmdRes)); -chunkDoc = configDB.chunks.find().sort({ min: 1 }).skip(1).next(); +chunkDoc = configDB.chunks.find().sort({min: 1}).skip(1).next(); var middle = chunkDoc.min + 1000000; -cmdRes = testDB.adminCommand({ split: 'test.user', middle: { x: middle }}); +cmdRes = testDB.adminCommand({split: 'test.user', middle: {x: middle}}); assert(cmdRes.ok, 'split failed with middle [' + middle + ']: ' + tojson(cmdRes)); -cmdRes = testDB.adminCommand({ split: 'test.user', find: { x: 7 }}); +cmdRes = testDB.adminCommand({split: 'test.user', find: {x: 7}}); assert(cmdRes.ok, 'split failed with find: ' + tojson(cmdRes)); -var chunkList = configDB.chunks.find().sort({ min: 1 }).toArray(); +var chunkList = configDB.chunks.find().sort({min: 1}).toArray(); assert.eq(chunkCountBefore + 3, chunkList.length); chunkList.forEach(function(chunkToMove) { - var toShard = configDB.shards.findOne({ _id: { $ne: chunkToMove.shard }})._id; + var toShard = configDB.shards.findOne({_id: {$ne: chunkToMove.shard}})._id; - print(jsTestName() + " - moving chunk " + chunkToMove._id + " from shard " + - chunkToMove.shard + " to " + toShard + "..."); + print(jsTestName() + " - moving chunk " + chunkToMove._id + " from shard " + chunkToMove.shard + + " to " + toShard + "..."); - var cmdRes = testDB.adminCommand({ moveChunk: 'test.user', - bounds: [ chunkToMove.min, chunkToMove.max ], - to: toShard, _waitForDelete: true }); - print(jsTestName() + " - result from moving chunk " + chunkToMove._id + ": " + - tojson(cmdRes)); + var cmdRes = testDB.adminCommand({ + moveChunk: 'test.user', + bounds: [chunkToMove.min, chunkToMove.max], + to: toShard, + _waitForDelete: true + }); + print(jsTestName() + " - result from moving chunk " + chunkToMove._id + ": " + tojson(cmdRes)); }); st.stop(); - |