var st = new ShardingTest({ shards: { rs0: { nodes: 2, oplogSize: 2 }}, mongos : 0, });
|
var replTest = st.rs0;
|
replTest.awaitSecondaryNodes();
|
printjson(replTest.status());
|
|
print("Starting a mongos while replSet is intact")
|
var ports = allocatePorts(2);
|
var s1 = startMongos( { port : ports[0], v : 0, configdb : st._configDB } );
|
|
print("query the config db with readPref secondary");
|
assert.eq(s1.getDB("config").settings.find().readPref("secondary").count(), 1);
|
|
print("Stopping the primary");
|
replTest.stopMaster();
|
sleep(3);
|
printjson(replTest.status());
|
|
print("Starting a mongos with no primary in shard");
|
var s2 = startMongos( { port : ports[1], v : 0, configdb : st._configDB } );
|
print("Query the config db with readPref secondary");
|
assert.eq(s2.getDB("config").settings.find().readPref("secondary").count(), 1, 'failed to query the config db');
|