diff options
Diffstat (limited to 'jstests/sharding/addshard2.js')
-rw-r--r-- | jstests/sharding/addshard2.js | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/jstests/sharding/addshard2.js b/jstests/sharding/addshard2.js index 28ffaf05e6f..3bc524550a5 100644 --- a/jstests/sharding/addshard2.js +++ b/jstests/sharding/addshard2.js @@ -3,6 +3,8 @@ * valid and invalid hosts, shardName matching or not matching a setName, etc). */ (function() { +'use strict'; +load('jstests/sharding/libs/remove_shard_util.js'); // TODO SERVER-50144 Remove this and allow orphan checking. // This test calls removeShard which can leave docs in config.rangeDeletions in state "pending", @@ -44,17 +46,6 @@ const assertAddShardFailed = function(res, shardName) { } }; -const removeShardWithName = function(shardName) { - let res = st.s.adminCommand({removeShard: shardName}); - assert.commandWorked(res); - assert.eq('started', res.state); - assert.soon(function() { - res = st.s.adminCommand({removeShard: shardName}); - assert.commandWorked(res); - return ('completed' === res.state); - }, "removeShard never completed for shard " + shardName); -}; - const st = new ShardingTest({ shards: 0, mongos: 1, @@ -81,7 +72,7 @@ rst1.initiate(); addShardRes = st.s.adminCommand({addShard: rst1.getURL()}); assertAddShardSucceeded(addShardRes); assert.eq(rst1.name, addShardRes.shardAdded); -removeShardWithName(addShardRes.shardAdded); +removeShard(st, addShardRes.shardAdded); rst1.stopSet(); jsTest.log( @@ -91,7 +82,7 @@ rst2.startSet({shardsvr: ''}); rst2.initiate(); addShardRes = st.s.adminCommand({addShard: rst2.getURL(), name: rst2.name}); assertAddShardSucceeded(addShardRes, rst2.name); -removeShardWithName(addShardRes.shardAdded); +removeShard(st, addShardRes.shardAdded); rst2.stopSet(); let rst3 = new ReplSetTest({nodes: 1}); @@ -102,7 +93,7 @@ jsTest.log( "Adding a replica set with a specified shardName that differs from the set's name should succeed."); addShardRes = st.s.adminCommand({addShard: rst3.getURL(), name: "differentShardName"}); assertAddShardSucceeded(addShardRes, "differentShardName"); -removeShardWithName(addShardRes.shardAdded); +removeShard(st, addShardRes.shardAdded); jsTest.log("Adding a replica with a specified shardName of 'config' should fail."); addShardRes = st.s.adminCommand({addShard: rst3.getURL(), name: "config"}); @@ -145,7 +136,7 @@ jsTest.log( "Adding a replica set whose setName is config with a non-'config' shardName should succeed"); addShardRes = st.s.adminCommand({addShard: rst4.getURL(), name: "nonConfig"}); assertAddShardSucceeded(addShardRes, "nonConfig"); -removeShardWithName(addShardRes.shardAdded); +removeShard(st, addShardRes.shardAdded); rst4.stopSet(); @@ -173,7 +164,7 @@ assert.neq(null, rst5.getPrimary().getDB('test').foo.findOne()); assert.commandWorked(st.s.getDB('test').runCommand({dropDatabase: 1})); -removeShardWithName(addShardRes.shardAdded); +removeShard(st, addShardRes.shardAdded); rst5.stopSet(); |