blob: 2b20d2f49e429ead2d20ab9e524ab3d78b8ba472 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
// Tests that mongos will wait for CSRS replica set to initiate.
// @tags: [multiversion_incompatible]
var configRS = new ReplSetTest({name: "configRS", nodes: 1, useHostName: true});
configRS.startSet({configsvr: '', journal: "", storageEngine: 'wiredTiger'});
var replConfig = configRS.getReplSetConfig();
replConfig.configsvr = true;
var mongos = MongoRunner.runMongos({configdb: configRS.getURL(), waitForConnect: false});
assert.throws(function() {
new Mongo(mongos.host);
});
jsTestLog("Initiating CSRS");
configRS.initiate(replConfig);
// Ensure the featureCompatibilityVersion is lastLTSFCV so that the mongos can connect if it is
// binary version last-lts.
assert.commandWorked(
configRS.getPrimary().adminCommand({setFeatureCompatibilityVersion: lastLTSFCV}));
jsTestLog("getting mongos");
var e;
assert.soon(
function() {
try {
mongos2 = new Mongo(mongos.host);
return true;
} catch (ex) {
e = ex;
return false;
}
},
function() {
return "mongos " + mongos.host +
" did not begin accepting connections in time; final exception: " + tojson(e);
});
jsTestLog("got mongos");
assert.commandWorked(mongos2.getDB('admin').runCommand('serverStatus'));
configRS.stopSet();
MongoRunner.stopMongos(mongos);
|