-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: 3.0.11, 3.2.9, 3.3.11
-
Component/s: Sharding
-
None
-
Sharding
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Repro steps below, not a regression. Checked back to 3.0.x
(function() {
'use strict';
var checkCollectionExists = function(coll) {
var collArray = coll.getDB().runCommand("listCollections").cursor.firstBatch;
var colls = collArray.filter(function(spec) { return spec.name === coll.getName(); });
assert.eq(1, colls.length, tojson(collArray));
}
var st = new ShardingTest({shards: 2});
var mongos = st.s;
var configDb = st.s.getDB("config");
var shard0 = st.shard0.shardName;
var shard1 = st.shard1.shardName;
var coll = mongos.getCollection('test.list_collections');
assert.commandWorked(mongos.adminCommand({ enableSharding: coll.getDB() + ""}));
assert.commandWorked(
mongos.adminCommand({ shardCollection: coll + "", key: { "x" : 1 }}));
jsTestLog("insert a single document into mycoll");
assert.writeOK(coll.insert({ "x" : 1 }));
checkCollectionExists(coll);
jsTestLog("check that primary shard is " + shard0 + " then moving primary to " + shard1);
assert.eq(1, configDb.databases.count({ "_id" : coll.getDB().getName(), "primary" : shard0 }));
assert.commandWorked(mongos.adminCommand({ movePrimary: coll.getDB().getName(), to: shard1}));
checkCollectionExists(coll);
st.stop();
})();