diff options
Diffstat (limited to 'jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js')
-rw-r--r-- | jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js b/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js index e5888c67565..cc64ea70301 100644 --- a/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js +++ b/jstests/multiVersion/genericSetFCVUsage/do_upgrade_downgrade.js @@ -153,6 +153,14 @@ let standaloneTest = function(nodeOptions, downgradeVersion) { checkUniqueIndexFormatVersion(adminDB); setFCV(adminDB, downgradeFCV); + } else { + checkFCV(adminDB, lastLTSFCV); + + // Transitioning from last-lts to last-continuous is only allowed when + // setFeatureCompatibilityVersion is called with fromConfigServer: true. + assert.commandWorked(adminDB.runCommand( + {setFeatureCompatibilityVersion: downgradeFCV, fromConfigServer: true})); + checkFCV(adminDB, downgradeFCV); } // Ensure featureCompatibilityVersion is downgraded and all collections still have UUIDs. @@ -243,6 +251,14 @@ let replicaSetTest = function(nodeOptions, downgradeVersion) { // Change featureCompatibilityVersion to downgradeFCV. setFCV(primaryAdminDB, downgradeFCV); rst.awaitReplication(); + } else { + checkFCV(primaryAdminDB, lastLTSFCV); + + // Transitioning from last-lts to last-continuous is only allowed when + // setFeatureCompatibilityVersion is called with fromConfigServer: true. + assert.commandWorked(primaryAdminDB.runCommand( + {setFeatureCompatibilityVersion: downgradeFCV, fromConfigServer: true})); + checkFCV(primaryAdminDB, downgradeFCV); } // Ensure featureCompatibilityVersion is 'downgradeVersion' and all collections still have |