summaryrefslogtreecommitdiff
path: root/jstests/sharding/tag_auto_split_partial_key.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sharding/tag_auto_split_partial_key.js')
-rw-r--r--jstests/sharding/tag_auto_split_partial_key.js62
1 files changed, 31 insertions, 31 deletions
diff --git a/jstests/sharding/tag_auto_split_partial_key.js b/jstests/sharding/tag_auto_split_partial_key.js
index 35f1c6c7b65..dc19059b726 100644
--- a/jstests/sharding/tag_auto_split_partial_key.js
+++ b/jstests/sharding/tag_auto_split_partial_key.js
@@ -1,45 +1,45 @@
// Test to make sure that tag ranges get split when partial keys are used for the tag ranges
(function() {
- 'use strict';
+'use strict';
- var s = new ShardingTest({shards: 2, mongos: 1});
+var s = new ShardingTest({shards: 2, mongos: 1});
- assert.commandWorked(s.s0.adminCommand({enablesharding: "test"}));
- s.ensurePrimaryShard('test', s.shard1.shardName);
- assert.commandWorked(s.s0.adminCommand({shardcollection: "test.foo", key: {_id: 1, a: 1}}));
+assert.commandWorked(s.s0.adminCommand({enablesharding: "test"}));
+s.ensurePrimaryShard('test', s.shard1.shardName);
+assert.commandWorked(s.s0.adminCommand({shardcollection: "test.foo", key: {_id: 1, a: 1}}));
- assert.eq(1, s.config.chunks.find({"ns": "test.foo"}).itcount());
+assert.eq(1, s.config.chunks.find({"ns": "test.foo"}).itcount());
- s.addShardTag(s.shard0.shardName, "a");
- s.addShardTag(s.shard0.shardName, "b");
+s.addShardTag(s.shard0.shardName, "a");
+s.addShardTag(s.shard0.shardName, "b");
- s.addTagRange("test.foo", {_id: 5}, {_id: 10}, "a");
- s.addTagRange("test.foo", {_id: 10}, {_id: 15}, "b");
+s.addTagRange("test.foo", {_id: 5}, {_id: 10}, "a");
+s.addTagRange("test.foo", {_id: 10}, {_id: 15}, "b");
- s.startBalancer();
+s.startBalancer();
- assert.soon(function() {
- return s.config.chunks.find({"ns": "test.foo"}).itcount() == 4;
- }, 'Split did not occur', 3 * 60 * 1000);
+assert.soon(function() {
+ return s.config.chunks.find({"ns": "test.foo"}).itcount() == 4;
+}, 'Split did not occur', 3 * 60 * 1000);
- s.awaitBalancerRound();
- s.printShardingStatus(true);
- assert.eq(4, s.config.chunks.find({"ns": "test.foo"}).itcount(), 'Split points changed');
+s.awaitBalancerRound();
+s.printShardingStatus(true);
+assert.eq(4, s.config.chunks.find({"ns": "test.foo"}).itcount(), 'Split points changed');
- s.config.chunks.find({"ns": "test.foo"}).forEach(function(chunk) {
- var numFields = 0;
- for (var x in chunk.min) {
- numFields++;
- assert(x == "_id" || x == "a", tojson(chunk));
- }
- assert.eq(2, numFields, tojson(chunk));
- });
+s.config.chunks.find({"ns": "test.foo"}).forEach(function(chunk) {
+ var numFields = 0;
+ for (var x in chunk.min) {
+ numFields++;
+ assert(x == "_id" || x == "a", tojson(chunk));
+ }
+ assert.eq(2, numFields, tojson(chunk));
+});
- // Check chunk mins correspond exactly to tag range boundaries, extended to match shard key
- assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: MinKey, a: MinKey}}).itcount());
- assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: 5, a: MinKey}}).itcount());
- assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: 10, a: MinKey}}).itcount());
- assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: 15, a: MinKey}}).itcount());
+// Check chunk mins correspond exactly to tag range boundaries, extended to match shard key
+assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: MinKey, a: MinKey}}).itcount());
+assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: 5, a: MinKey}}).itcount());
+assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: 10, a: MinKey}}).itcount());
+assert.eq(1, s.config.chunks.find({"ns": "test.foo", min: {_id: 15, a: MinKey}}).itcount());
- s.stop();
+s.stop();
})();