SERVER-115507 Skip afterSecondariesHaveRestarted validation for extensions upgrade/downgrade tests (#45261)

GitOrigin-RevId: fe57fd3fa3a3674552ff23a876fe248cdcb13d34
This commit is contained in:
Alyssa Clark 2025-12-15 14:22:53 -05:00 committed by MongoDB Bot
parent 800a3faa71
commit 50bac32127
5 changed files with 24 additions and 7 deletions

View File

@ -37,6 +37,7 @@ import "jstests/multiVersion/libs/multi_cluster.js";
import {isLinux} from "jstests/libs/os_helpers.js"; import {isLinux} from "jstests/libs/os_helpers.js";
import { import {
assertFooStageAcceptedEitherVersion,
assertFooStageAcceptedV1AndV2, assertFooStageAcceptedV1AndV2,
assertFooStageAcceptedV1Only, assertFooStageAcceptedV1Only,
assertFooStageAcceptedV1OnlyPlusV2ViewCreation, assertFooStageAcceptedV1OnlyPlusV2ViewCreation,
@ -65,7 +66,8 @@ try {
restartNodeOptions: fooV2Options, restartNodeOptions: fooV2Options,
setupFn: setupCollection, setupFn: setupCollection,
beforeRestart: assertFooStageAcceptedV1Only, beforeRestart: assertFooStageAcceptedV1Only,
afterSecondariesHaveRestarted: assertFooStageAcceptedV1Only, // TODO SERVER-115501 Add fine-grained validation.
afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion,
afterPrimariesHaveRestarted: assertFooStageAcceptedV1AndV2, afterPrimariesHaveRestarted: assertFooStageAcceptedV1AndV2,
}); });
@ -87,7 +89,8 @@ try {
restartNodeOptions: fooV1Options, restartNodeOptions: fooV1Options,
setupFn: setupCollection, setupFn: setupCollection,
beforeRestart: assertFooStageAcceptedV1AndV2, beforeRestart: assertFooStageAcceptedV1AndV2,
afterSecondariesHaveRestarted: assertFooStageAcceptedV1AndV2, // TODO SERVER-115501 Add fine-grained validation.
afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion,
afterPrimariesHaveRestarted: assertFooStageAcceptedV1Only, afterPrimariesHaveRestarted: assertFooStageAcceptedV1Only,
}); });

View File

@ -13,6 +13,7 @@
*/ */
import {isLinux} from "jstests/libs/os_helpers.js"; import {isLinux} from "jstests/libs/os_helpers.js";
import { import {
assertFooStageAcceptedEitherVersion,
assertFooStageAcceptedV1AndV2, assertFooStageAcceptedV1AndV2,
assertFooStageAcceptedV1Only, assertFooStageAcceptedV1Only,
setupCollection, setupCollection,
@ -39,7 +40,8 @@ try {
restartNodeOptions: fooV2Options, restartNodeOptions: fooV2Options,
setupFn: setupCollection, setupFn: setupCollection,
beforeRestart: assertFooStageAcceptedV1Only, beforeRestart: assertFooStageAcceptedV1Only,
afterSecondariesHaveRestarted: assertFooStageAcceptedV1Only, // TODO SERVER-115501 Add fine-grained validation.
afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion,
afterPrimariesHaveRestarted: assertFooStageAcceptedV1AndV2, afterPrimariesHaveRestarted: assertFooStageAcceptedV1AndV2,
}); });
@ -59,7 +61,8 @@ try {
restartNodeOptions: fooV1Options, restartNodeOptions: fooV1Options,
setupFn: setupCollection, setupFn: setupCollection,
beforeRestart: assertFooStageAcceptedV1AndV2, beforeRestart: assertFooStageAcceptedV1AndV2,
afterSecondariesHaveRestarted: assertFooStageAcceptedV1AndV2, // TODO SERVER-115501 Add fine-grained validation.
afterSecondariesHaveRestarted: assertFooStageAcceptedEitherVersion,
afterPrimariesHaveRestarted: assertFooStageAcceptedV1Only, afterPrimariesHaveRestarted: assertFooStageAcceptedV1Only,
}); });

View File

@ -17,7 +17,7 @@ const data = [
{_id: 2, test: "c"}, {_id: 2, test: "c"},
]; ];
const fooParseErrorCodes = [11165101, 10624201]; const fooParseErrorCodes = [11165101];
export function generateMultiversionExtensionConfigs() { export function generateMultiversionExtensionConfigs() {
return generateExtensionConfigs(["libfoo_mongo_extension.so", "libfoo_extension_v2.so"]); 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]]}); 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) { export function assertFooStageAcceptedV1AndV2(primaryConn) {
const db = getDB(primaryConn); const db = getDB(primaryConn);
db[viewName].drop(); db[viewName].drop();

View File

@ -55,7 +55,8 @@ try {
upgradeNodeOptions: fooOptions, upgradeNodeOptions: fooOptions,
setupFn: setupCollection, setupFn: setupCollection,
whenFullyDowngraded: assertFooStageRejected, whenFullyDowngraded: assertFooStageRejected,
whenSecondariesAreLatestBinary: assertFooStageRejected, // TODO SERVER-115501 Add validation.
whenSecondariesAreLatestBinary: () => {},
whenBinariesAreLatestAndFCVIsLastLTS: assertFooStageAccepted, whenBinariesAreLatestAndFCVIsLastLTS: assertFooStageAccepted,
whenFullyUpgraded: assertFooStageAccepted, whenFullyUpgraded: assertFooStageAccepted,
}); });

View File

@ -39,7 +39,8 @@ try {
upgradeNodeOptions: fooOptions, upgradeNodeOptions: fooOptions,
setupFn: setupCollection, setupFn: setupCollection,
whenFullyDowngraded: assertFooStageRejected, whenFullyDowngraded: assertFooStageRejected,
whenSecondariesAreLatestBinary: assertFooStageRejected, // TODO SERVER-115501 Add validation.
whenSecondariesAreLatestBinary: () => {},
whenBinariesAreLatestAndFCVIsLastLTS: assertFooStageAccepted, whenBinariesAreLatestAndFCVIsLastLTS: assertFooStageAccepted,
whenFullyUpgraded: assertFooStageAccepted, whenFullyUpgraded: assertFooStageAccepted,
}); });