From 2041a8a461f42c6fc1c257e87e88c6ae695a51a8 Mon Sep 17 00:00:00 2001 From: Tommaso Tocci Date: Sat, 12 Nov 2022 01:20:43 +0000 Subject: SERVER-68888 Remove deprecated fields from config.version --- .../upgrade_downgrade_cluster.js | 12 -------- .../upgrade_downgrade_sharded_cluster.js | 36 +++++++++++++++++++++- jstests/sharding/empty_cluster_init.js | 5 +-- 3 files changed, 36 insertions(+), 17 deletions(-) (limited to 'jstests') diff --git a/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_cluster.js b/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_cluster.js index 4133e250493..fbb6a9a2687 100644 --- a/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_cluster.js +++ b/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_cluster.js @@ -16,9 +16,6 @@ load('./jstests/multiVersion/libs/multi_cluster.js'); // command is nondeterministic, skip the consistency check for this test. TestData.skipCheckingUUIDsConsistentAcrossCluster = true; -const kMinVersion = 5; -const kCurrentVerion = 6; - var testCRUDAndAgg = function(db) { assert.commandWorked(db.foo.insert({x: 1})); assert.commandWorked(db.foo.insert({x: -1})); @@ -52,11 +49,8 @@ for (let oldVersion of ["last-lts", "last-continuous"]) { // check that config.version document gets initialized properly var version = st.s.getCollection('config.version').findOne(); - assert.eq(version.minCompatibleVersion, kMinVersion); - assert.eq(version.currentVersion, kCurrentVerion); var clusterID = version.clusterId; assert.neq(null, clusterID); - assert.eq(version.excluding, undefined); // Setup sharded collection assert.commandWorked(st.s.adminCommand({enableSharding: 'sharded'})); @@ -114,10 +108,7 @@ for (let oldVersion of ["last-lts", "last-continuous"]) { // Check that version document is unmodified. version = st.s.getCollection('config.version').findOne(); - assert.eq(version.minCompatibleVersion, kMinVersion); - assert.eq(version.currentVersion, kCurrentVerion); assert.eq(clusterID, version.clusterId); - assert.eq(version.excluding, undefined); /////////////////////////////////////////////////////////////////////////////////////////// // Downgrade back @@ -163,10 +154,7 @@ for (let oldVersion of ["last-lts", "last-continuous"]) { // Check that version document is unmodified. version = st.s.getCollection('config.version').findOne(); - assert.eq(version.minCompatibleVersion, kMinVersion); - assert.eq(version.currentVersion, kCurrentVerion); assert.eq(clusterID, version.clusterId); - assert.eq(version.excluding, undefined); st.stop(); } diff --git a/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_sharded_cluster.js b/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_sharded_cluster.js index f7eeaf6578f..8463454a8c6 100644 --- a/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_sharded_cluster.js +++ b/jstests/multiVersion/genericSetFCVUsage/upgrade_downgrade_sharded_cluster.js @@ -14,6 +14,7 @@ 'use strict'; load('jstests/multiVersion/libs/multi_cluster.js'); // For upgradeCluster +load("jstests/libs/feature_flag_util.js"); const dbName = jsTestName(); @@ -44,6 +45,35 @@ function getNodeName(node) { return info.setName + '_' + (info.secondary ? 'secondary' : 'primary'); } +function checkConfigVersionDoc() { + // TODO: SERVER-68889 remove this function once 7.0 becomes last LTS + const versionDoc = st.s.getCollection('config.version').findOne(); + + if (FeatureFlagUtil.isEnabled(st.s, "StopUsingConfigVersion")) { + // Check that the version doc doesn't contain any of the deprecatedFields + const deprecatedFields = [ + "excluding", + "upgradeId", + "upgradeState", + "currentVersion", + "minCompatibleVersion", + ]; + + deprecatedFields.forEach(deprecatedField => { + assert(!versionDoc.hasOwnProperty(deprecatedField), + `Found deprecated field '${deprecatedField}' in version document ${ + tojson(versionDoc)}`); + }); + } else { + assert.eq(versionDoc.minCompatibleVersion, + 5, + "Version doc does not contain expected value for minCompatibleVersion field"); + assert.eq(versionDoc.currentVersion, + 6, + "Version doc does not contain expected value for currentVersion field"); + } +} + function checkConfigAndShardsFCV(expectedFCV) { const configPrimary = st.configRS.getPrimary(); @@ -66,21 +96,25 @@ function checkConfigAndShardsFCV(expectedFCV) { function checkClusterBeforeUpgrade(fcv) { checkConfigAndShardsFCV(fcv); + checkConfigVersionDoc(); } function checkClusterAfterBinaryUpgrade() { - // To implement in the future, if necessary. + checkConfigVersionDoc(); } function checkClusterAfterFCVUpgrade(fcv) { checkConfigAndShardsFCV(fcv); + checkConfigVersionDoc(); } function checkClusterAfterFCVDowngrade() { + checkConfigVersionDoc(); } function checkClusterAfterBinaryDowngrade(fcv) { checkConfigAndShardsFCV(fcv); + checkConfigVersionDoc(); } for (const oldVersion of [lastLTSFCV, lastContinuousFCV]) { diff --git a/jstests/sharding/empty_cluster_init.js b/jstests/sharding/empty_cluster_init.js index c35c60191d4..bd29119cf67 100644 --- a/jstests/sharding/empty_cluster_init.js +++ b/jstests/sharding/empty_cluster_init.js @@ -82,10 +82,7 @@ for (var i = 0; i < mongoses.length; i++) { // Check version and that the version was only updated once // -assert.eq(5, version.minCompatibleVersion); -assert.eq(6, version.currentVersion); -assert(version.clusterId); -assert.eq(undefined, version.excluding); +assert.hasFields(version, ['clusterId'], "Version document does not contain cluster ID"); var oplog = configRS.getPrimary().getDB('local').oplog.rs; var updates = oplog.find({ns: "config.version"}).toArray(); -- cgit v1.2.1