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.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/jstests/sharding/addshard2.js b/jstests/sharding/addshard2.js
index d6487c6d366..dab39ec4240 100644
--- a/jstests/sharding/addshard2.js
+++ b/jstests/sharding/addshard2.js
@@ -25,6 +25,15 @@ var rs4 = new ReplSetTest({ 'name': 'admin', nodes: 3, startPort: 31209 });
rs4.startSet();
rs4.initiate();
+// replica set with configServer: true should *not* be allowed to be added as a shard
+var rs5 = new ReplSetTest({ 'name': 'csrs', nodes: 3, startPort: 31212 });
+rs5.startSet();
+var conf = rs5.getReplSetConfig();
+conf.configServer = true;
+conf.settings = {protocolVersion: 1};
+rs5.initiate(conf);
+
+
// step 1. name given
assert(s.admin.runCommand({"addshard" : getHostName()+":" + conn1.port, "name" : "bar"}).ok,
"failed to add shard in step 1");
@@ -82,8 +91,12 @@ var wRes = s.getDB('test').foo.insert({ x: 1 });
assert(!wRes.hasWriteError() && wRes.nInserted === 1,
'failed to insert document into "test.foo" unsharded collection');
+// SERVER-19545 Should not be able to add config server replsets as shards.
+assert.commandFailed(s.admin.runCommand({addshard: rs5.getURL()}));
+
s.stop();
rs1.stopSet();
rs2.stopSet();
rs3.stopSet();
rs4.stopSet();
+rs5.stopSet(); \ No newline at end of file