diff --git a/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade.js b/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade.js index 9f5c731b476..df3ca5148bb 100644 --- a/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade.js +++ b/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade.js @@ -37,6 +37,7 @@ import "jstests/multiVersion/libs/multi_cluster.js"; import {isLinux} from "jstests/libs/os_helpers.js"; import { + assertFooStageAcceptedEitherVersion, assertFooStageAcceptedV1AndV2, assertFooStageAcceptedV1Only, assertFooStageAcceptedV1OnlyPlusV2ViewCreation, @@ -65,7 +66,8 @@ try { restartNodeOptions: fooV2Options, setupFn: setupCollection, beforeRestart: assertFooStageAcceptedV1Only, - afterSecondariesHaveRestarted: assertFooStageAcceptedV1Only, + // TODO SERVER-115501 Add fine-grained validation. + afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion, afterPrimariesHaveRestarted: assertFooStageAcceptedV1AndV2, }); @@ -87,7 +89,8 @@ try { restartNodeOptions: fooV1Options, setupFn: setupCollection, beforeRestart: assertFooStageAcceptedV1AndV2, - afterSecondariesHaveRestarted: assertFooStageAcceptedV1AndV2, + // TODO SERVER-115501 Add fine-grained validation. + afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion, afterPrimariesHaveRestarted: assertFooStageAcceptedV1Only, }); diff --git a/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade_auth.js b/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade_auth.js index a063fe0edb4..88c70202a19 100644 --- a/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade_auth.js +++ b/jstests/multiVersion/genericBinVersion/extensions_api/extension_foo_upgrade_downgrade_auth.js @@ -13,6 +13,7 @@ */ import {isLinux} from "jstests/libs/os_helpers.js"; import { + assertFooStageAcceptedEitherVersion, assertFooStageAcceptedV1AndV2, assertFooStageAcceptedV1Only, setupCollection, @@ -39,7 +40,8 @@ try { restartNodeOptions: fooV2Options, setupFn: setupCollection, beforeRestart: assertFooStageAcceptedV1Only, - afterSecondariesHaveRestarted: assertFooStageAcceptedV1Only, + // TODO SERVER-115501 Add fine-grained validation. + afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion, afterPrimariesHaveRestarted: assertFooStageAcceptedV1AndV2, }); @@ -59,7 +61,8 @@ try { restartNodeOptions: fooV1Options, setupFn: setupCollection, beforeRestart: assertFooStageAcceptedV1AndV2, - afterSecondariesHaveRestarted: assertFooStageAcceptedV1AndV2, + // TODO SERVER-115501 Add fine-grained validation. + afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion, afterPrimariesHaveRestarted: assertFooStageAcceptedV1Only, }); diff --git a/jstests/multiVersion/genericBinVersion/extensions_api/libs/extension_foo_upgrade_downgrade_utils.js b/jstests/multiVersion/genericBinVersion/extensions_api/libs/extension_foo_upgrade_downgrade_utils.js index a354d23e52a..6f595cb3b18 100644 --- a/jstests/multiVersion/genericBinVersion/extensions_api/libs/extension_foo_upgrade_downgrade_utils.js +++ b/jstests/multiVersion/genericBinVersion/extensions_api/libs/extension_foo_upgrade_downgrade_utils.js @@ -17,7 +17,7 @@ const data = [ {_id: 2, test: "c"}, ]; -const fooParseErrorCodes = [11165101, 10624201]; +const fooParseErrorCodes = [11165101]; export function generateMultiversionExtensionConfigs() { return generateExtensionConfigs(["libfoo_mongo_extension.so", "libfoo_extension_v2.so"]); @@ -67,6 +67,15 @@ export function assertFooStageAcceptedV1Only(primaryConn) { assertArrayEq({actual: viewResult.cursor.firstBatch, expected: [data[0]]}); } +// TODO SERVER-115501 Remove this helper. +export function assertFooStageAcceptedEitherVersion(primaryConn) { + const db = getDB(primaryConn); + db[viewName].drop(); + + const response = db.runCommand({aggregate: collName, pipeline: [{$testFoo: {}}], cursor: {}}); + assert(response.ok === 1 || response.code in fooParseErrorCodes); +} + export function assertFooStageAcceptedV1AndV2(primaryConn) { const db = getDB(primaryConn); db[viewName].drop(); diff --git a/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo.js b/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo.js index feeb1a7a053..ef51360b51a 100644 --- a/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo.js +++ b/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo.js @@ -55,7 +55,8 @@ try { upgradeNodeOptions: fooOptions, setupFn: setupCollection, whenFullyDowngraded: assertFooStageRejected, - whenSecondariesAreLatestBinary: assertFooStageRejected, + // TODO SERVER-115501 Add validation. + whenSecondariesAreLatestBinary: () => {}, whenBinariesAreLatestAndFCVIsLastLTS: assertFooStageAccepted, whenFullyUpgraded: assertFooStageAccepted, }); diff --git a/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo_auth.js b/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo_auth.js index 8f57c84f4b1..ee2cd7ce8e0 100644 --- a/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo_auth.js +++ b/jstests/multiVersion/genericBinVersion/extensions_api/upgrade_enables_extension_foo_auth.js @@ -39,7 +39,8 @@ try { upgradeNodeOptions: fooOptions, setupFn: setupCollection, whenFullyDowngraded: assertFooStageRejected, - whenSecondariesAreLatestBinary: assertFooStageRejected, + // TODO SERVER-115501 Add validation. + whenSecondariesAreLatestBinary: () => {}, whenBinariesAreLatestAndFCVIsLastLTS: assertFooStageAccepted, whenFullyUpgraded: assertFooStageAccepted, });