summaryrefslogtreecommitdiff
path: root/jstests/sharding/addshard2.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sharding/addshard2.js')
-rw-r--r--jstests/sharding/addshard2.js23
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();