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 {
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,
});

View File

@ -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,
});

View File

@ -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();

View File

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

View File

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