diff options
Diffstat (limited to 'jstests/multiVersion')
-rw-r--r-- | jstests/multiVersion/genericSetFCVUsage/migration_between_mixed_FCV_mixed_version_mongods.js | 17 | ||||
-rw-r--r-- | jstests/multiVersion/migrations_with_mixed_fcv.js | 16 |
2 files changed, 33 insertions, 0 deletions
diff --git a/jstests/multiVersion/genericSetFCVUsage/migration_between_mixed_FCV_mixed_version_mongods.js b/jstests/multiVersion/genericSetFCVUsage/migration_between_mixed_FCV_mixed_version_mongods.js index fb9080e1f7e..e73efb4b208 100644 --- a/jstests/multiVersion/genericSetFCVUsage/migration_between_mixed_FCV_mixed_version_mongods.js +++ b/jstests/multiVersion/genericSetFCVUsage/migration_between_mixed_FCV_mixed_version_mongods.js @@ -35,6 +35,23 @@ function runTest(downgradeVersion) { } }); + const featureFlagMigrationRecipientCriticalSection = + assert.commandWorked(st.configRS.getPrimary().adminCommand( + {getParameter: 1, featureFlagMigrationRecipientCriticalSection: 1})); + const featureFlagMigrationRecipientCriticalSectionEnabled = + featureFlagMigrationRecipientCriticalSection.featureFlagMigrationRecipientCriticalSection + .value; + + // SERVER-61072: Reenable this test once 6.0 becomes last LTS. + // We have to skip this test because the initial state with mixed binaries and mixed FCVs + // doesn't honor the upgrade/downgrade procedure and breaks with the setFCV requirements of the + // new migration protocol. + if (featureFlagMigrationRecipientCriticalSectionEnabled) { + jsTest.log('Skipping test because featureFlagMigrationRecipientCriticalSection is enabled'); + st.stop(); + return; + } + const downgradeFCV = binVersionToFCV(downgradeVersion); checkFCV(st.configRS.getPrimary().getDB("admin"), downgradeFCV); checkFCV(st.shard0.getDB("admin"), downgradeFCV); diff --git a/jstests/multiVersion/migrations_with_mixed_fcv.js b/jstests/multiVersion/migrations_with_mixed_fcv.js index e45330b9a3f..4ad33779916 100644 --- a/jstests/multiVersion/migrations_with_mixed_fcv.js +++ b/jstests/multiVersion/migrations_with_mixed_fcv.js @@ -199,6 +199,22 @@ function testSetFCVDoesNotBlockWhileMigratingChunk() { jsTestLog("Testing that setFCV does not block while migrating a chunk"); let st = setup(); + const featureFlagMigrationRecipientCriticalSection = + assert.commandWorked(st.configRS.getPrimary().adminCommand( + {getParameter: 1, featureFlagMigrationRecipientCriticalSection: 1})); + const featureFlagMigrationRecipientCriticalSectionEnabled = + featureFlagMigrationRecipientCriticalSection.featureFlagMigrationRecipientCriticalSection + .value; + + // SERVER-61072: Reenable this test once 6.0 becomes last LTS. + // We have to skip this test because the current implementation of the setFCV might wait for the + // completion of moveChunk operations before starting to use a different migration protocol. + if (featureFlagMigrationRecipientCriticalSectionEnabled) { + jsTest.log('Skipping test because featureFlagMigrationRecipientCriticalSection is enabled'); + st.stop(); + return; + } + // Set config and shards to last-lts FCV assert.commandWorked( st.s.getDB("admin").runCommand({setFeatureCompatibilityVersion: lastLTSFCV})); |