summaryrefslogtreecommitdiff
path: root/jstests/sharding/addshard4.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sharding/addshard4.js')
-rw-r--r--jstests/sharding/addshard4.js26
1 files changed, 24 insertions, 2 deletions
diff --git a/jstests/sharding/addshard4.js b/jstests/sharding/addshard4.js
index be4a8b3..4a44b55 100644
--- a/jstests/sharding/addshard4.js
+++ b/jstests/sharding/addshard4.js
@@ -2,15 +2,18 @@
s = new ShardingTest( "addshard4", 2 , 0 , 1 , {useHostname : true});
-r = new ReplSetTest({name : "addshard4", nodes : 3, startPort : 34000});
+r = new ReplSetTest({name : "addshard4", nodes : 3, startPort : 31100});
r.startSet();
var config = r.getReplSetConfig();
config.members[2].priority = 0;
r.initiate(config);
+//Wait for replica set to be fully initialized - could take some time
+//to pre-allocate files on slow systems
+r.awaitReplication();
-var master = r.getMaster().master;
+var master = r.getMaster();
var members = config.members.map(function(elem) { return elem.host; });
var shardName = "addshard4/"+members.join(",");
@@ -20,5 +23,24 @@ print("adding shard "+shardName);
var result = s.adminCommand({"addshard" : shardName});
printjson(result);
+assert.eq(result, true);
+r = new ReplSetTest({name : "addshard42", nodes : 3, startPort : 31200});
+r.startSet();
+
+config = r.getReplSetConfig();
+config.members[2].arbiterOnly = true;
+
+r.initiate(config);
+// Wait for replica set to be fully initialized - could take some time
+// to pre-allocate files on slow systems
+r.awaitReplication();
+master = r.getMaster();
+
+print("adding shard addshard42");
+
+result = s.adminCommand({"addshard" : "addshard42/"+config.members[2].host});
+
+printjson(result);
+assert.eq(result, true);