summaryrefslogtreecommitdiff
path: root/jstests/multiVersion
diff options
context:
space:
mode:
authorMarcos José Grillo Ramirez <marcos.grillo@mongodb.com>2021-07-02 13:18:51 +0200
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-07-02 17:10:37 +0000
commit92a0de6ce7e8dfb312d93f499ca5e3c0f6caa945 (patch)
treee3a84a17f1a1d7614a06162eb2887ede3d189fba /jstests/multiVersion
parent73e334a22d652feda2fb7f135e314f95146bbe6c (diff)
downloadmongo-92a0de6ce7e8dfb312d93f499ca5e3c0f6caa945.tar.gz
SERVER-32531 Disalow standalone nodes as shards if no queryableBackupMode is enabled
Diffstat (limited to 'jstests/multiVersion')
-rw-r--r--jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js8
-rw-r--r--jstests/multiVersion/genericSetFCVUsage/set_feature_compatibility_version.js25
2 files changed, 19 insertions, 14 deletions
diff --git a/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js b/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js
index b1500598680..27085eea249 100644
--- a/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js
+++ b/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js
@@ -221,12 +221,12 @@ let standaloneTest = function(nodeOptions, downgradeVersion) {
//
// Replica set tests.
//
-let replicaSetTest = function(nodeOptions, downgradeVersion) {
+let replicaSetTest = function(nodeOptions, downgradeVersion, numNodes = 3) {
jsTestLog("Running replica set test with 'downgradeVersion': " + downgradeVersion);
const downgradeFCV = binVersionToFCV(downgradeVersion);
// New latest binary version replica set.
jsTest.log("Starting a latest binVersion ReplSetTest");
- let rst = new ReplSetTest({nodes: 3, nodeOptions: nodeOptions});
+ let rst = new ReplSetTest({nodes: numNodes, nodeOptions: nodeOptions});
rst.startSet();
rst.initiate();
let primaryAdminDB = rst.getPrimary().getDB("admin");
@@ -362,9 +362,7 @@ standaloneTest({}, 'last-lts');
replicaSetTest({}, 'last-continuous');
replicaSetTest({}, 'last-lts');
-// Do tests for standalones and replica sets started with --shardsvr.
-standaloneTest({shardsvr: ""}, 'last-continuous');
-standaloneTest({shardsvr: ""}, 'last-lts');
+// Do tests for replica sets started with --shardsvr.
replicaSetTest({shardsvr: ""}, 'last-continuous');
replicaSetTest({shardsvr: ""}, 'last-lts');
diff --git a/jstests/multiVersion/genericSetFCVUsage/set_feature_compatibility_version.js b/jstests/multiVersion/genericSetFCVUsage/set_feature_compatibility_version.js
index a96a607f953..3b52a77005f 100644
--- a/jstests/multiVersion/genericSetFCVUsage/set_feature_compatibility_version.js
+++ b/jstests/multiVersion/genericSetFCVUsage/set_feature_compatibility_version.js
@@ -237,15 +237,6 @@ function runStandaloneTest(downgradeVersion) {
adminDB = conn.getDB("admin");
checkFCV(adminDB, downgradeFCV);
MongoRunner.stopMongod(conn);
-
- // A 'latest' binary mongod started with --shardsvr and clean data files defaults to
- // lastLTSFCV.
- conn = MongoRunner.runMongod({dbpath: dbpath, binVersion: latest, shardsvr: ""});
- assert.neq(
- null, conn, "mongod was unable to start up with version=" + latest + " and no data files");
- adminDB = conn.getDB("admin");
- checkFCV(adminDB, lastLTSFCV);
- MongoRunner.stopMongod(conn);
}
function runReplicaSetTest(downgradeVersion) {
@@ -448,11 +439,27 @@ function runShardingTest(downgradeVersion) {
const unsupportedOldFCV = (parseFloat(downgradeFCV) - 1).toFixed(1);
const unsupportedFutureFCV = (parseFloat(latestFCV) + 0.1).toFixed(1);
+ let singleNodeShard;
+ let conn;
let st;
let mongosAdminDB;
let configPrimaryAdminDB;
let shardPrimaryAdminDB;
+ // A 'latest' binary single node replica set and clean data files defaults to lastLTSFCV.
+ singleNodeShard =
+ new ReplSetTest({dbpath: dbpath, binVersion: latest, noCleanData: true, nodes: 1});
+ singleNodeShard.startSet({shardsvr: ""});
+ singleNodeShard.initiate();
+ conn = singleNodeShard.getPrimary();
+ assert.neq(
+ null,
+ conn,
+ "Single node replSet was unable to start up with version=" + latest + " and no data files");
+ shardPrimaryAdminDB = conn.getDB("admin");
+ checkFCV(shardPrimaryAdminDB, lastLTSFCV);
+ singleNodeShard.stopSet();
+
// A 'latest' binary cluster started with clean data files will set FCV to 'latestFCV'.
st = new ShardingTest({
shards: {rs0: {nodes: [{binVersion: latest}, {binVersion: latest}]}},