2013-01-28 14:35:26 -05:00
|
|
|
//
|
|
|
|
|
// Test checks whether the balancer correctly detects a mixed set of shards
|
|
|
|
|
//
|
|
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
jsTest.log("Starting cluster...");
|
2013-01-28 14:35:26 -05:00
|
|
|
|
|
|
|
|
var options = {
|
2016-03-09 12:17:50 -05:00
|
|
|
mongosOptions: {verbose: 1, useLogFiles: true},
|
|
|
|
|
configOptions: {},
|
|
|
|
|
shardOptions: {binVersion: ["latest", "last-stable"]},
|
2018-02-07 17:38:49 -05:00
|
|
|
enableBalancer: true,
|
|
|
|
|
other: {shardAsReplicaSet: false}
|
2016-02-04 12:29:45 -05:00
|
|
|
};
|
2013-01-28 14:35:26 -05:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
var st = new ShardingTest({shards: 3, mongos: 1, other: options});
|
2013-01-28 14:35:26 -05:00
|
|
|
|
|
|
|
|
var mongos = st.s0;
|
|
|
|
|
var admin = mongos.getDB("admin");
|
|
|
|
|
var coll = mongos.getCollection("foo.bar");
|
|
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
printjson(admin.runCommand({enableSharding: coll.getDB() + ""}));
|
2018-02-07 17:38:49 -05:00
|
|
|
st.ensurePrimaryShard(coll.getDB().getName(), st.shard1.shardName);
|
2016-03-09 12:17:50 -05:00
|
|
|
printjson(admin.runCommand({shardCollection: coll + "", key: {_id: 1}}));
|
2013-01-28 14:35:26 -05:00
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
assert.soon(function() {
|
2013-01-28 14:35:26 -05:00
|
|
|
var log = cat(mongos.fullOptions.logFile);
|
2014-07-30 13:30:12 -04:00
|
|
|
return /multiVersion cluster detected/.test(log);
|
2014-05-16 13:52:14 -04:00
|
|
|
}, "multiVersion warning not printed!", 30 * 16 * 60 * 1000, 5 * 1000);
|
2013-01-28 14:35:26 -05:00
|
|
|
|
|
|
|
|
jsTest.log("DONE!");
|
|
|
|
|
|
|
|
|
|
st.stop();
|