SERVER-87891: Move targeted multiversion tests (#41621)

GitOrigin-RevId: 04a80da842c063cbe06c45da01572ac690794f17
This commit is contained in:
Steve McClure 2025-09-24 14:22:01 -04:00 committed by MongoDB Bot
parent b2123ec29b
commit cf59a46893
49 changed files with 75 additions and 82 deletions

73
.github/CODEOWNERS vendored
View File

@ -993,12 +993,19 @@ WORKSPACE.bazel @10gen/devprod-build @svc-auto-approve-bot
/jstests/multiVersion/**/rs_endpoint* @10gen/server-cluster-scalability @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/OWNERS.yml
/jstests/multiVersion/genericBinVersion/**/*query_stats* @10gen/query-integration-observability @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/**/keystring_index.js @10gen/query-execution-write-exec @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/**/example_fcv_upgrade_downgrade_test.js @10gen/server-fcv @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/**/minor_version* @10gen/server-fcv @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/**/mixed_replica_set_with_latest_primary.js @10gen/server-fcv @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/**/remove_invalid_index_options.js @10gen/server-catalog-and-routing-shard-catalog @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/authz_schema_version.js @10gen/server-security @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/auto_bootstrap_upgrade_behavior.js @10gen/server-cluster-scalability @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/command_registration_startup_behavior_fcv.js @10gen/server-replication @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/*query_stats* @10gen/query-integration-observability @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/example_fcv_upgrade_downgrade_test.js @10gen/server-fcv @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/ident_suffix_compatability.js @10gen/server-storage-engine-integration @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/keystring_index.js @10gen/server-storage-engine-integration @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/minor_version* @10gen/server-fcv @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/mixed_cluster_roles.js @10gen/server-replication @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/mixed_replica_set_with_latest_primary.js @10gen/server-fcv @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/register_query_feature_flag.js @10gen/query @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/remove_invalid_index_options.js @10gen/server-catalog-and-routing-shard-catalog @svc-auto-approve-bot
/jstests/multiVersion/genericBinVersion/upgrade_during_vectored_insert.js @10gen/server-replication @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/capped_collections/OWNERS.yml
/jstests/multiVersion/genericBinVersion/capped_collections/**/* @10gen/server-collection-write-path @svc-auto-approve-bot
@ -1009,6 +1016,33 @@ WORKSPACE.bazel @10gen/devprod-build @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/index_builds/OWNERS.yml
/jstests/multiVersion/genericBinVersion/index_builds/**/* @10gen/server-index-builds @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/query-execution/OWNERS.yml
/jstests/multiVersion/genericBinVersion/query-execution/ @10gen/query-execution @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/query-execution-classic/OWNERS.yml
/jstests/multiVersion/genericBinVersion/query-execution-classic/ @10gen/query-execution-classic @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/query-execution-query-settings/OWNERS.yml
/jstests/multiVersion/genericBinVersion/query-execution-query-settings/ @10gen/query-execution-query-settings @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/query-integration-observability/OWNERS.yml
/jstests/multiVersion/genericBinVersion/query-integration-observability/ @10gen/query-integration-observability @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/query-integration-search/OWNERS.yml
/jstests/multiVersion/genericBinVersion/query-integration-search/ @10gen/query-integration-search @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/query-optimization/OWNERS.yml
/jstests/multiVersion/genericBinVersion/query-optimization/ @10gen/query-optimization @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/server-catalog-and-routing/OWNERS.yml
/jstests/multiVersion/genericBinVersion/server-catalog-and-routing/ @10gen/server-catalog-and-routing @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/server-security/OWNERS.yml
/jstests/multiVersion/genericBinVersion/server-security/ @10gen/server-security @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericBinVersion/storage_engine/OWNERS.yml
/jstests/multiVersion/genericBinVersion/storage_engine/**/* @10gen/server-storage-engine-integration @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/genericChangeStreams/OWNERS.yml
/jstests/multiVersion/genericChangeStreams/**/* @10gen/query-execution-change-streams @svc-auto-approve-bot
@ -1058,33 +1092,6 @@ WORKSPACE.bazel @10gen/devprod-build @svc-auto-approve-bot
/jstests/multiVersion/libs/**/multi_rs.js @10gen/server-fcv @svc-auto-approve-bot
/jstests/multiVersion/libs/**/multiversion_rollback.js @10gen/server-fcv @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/query-execution/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/query-execution/ @10gen/query-execution @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/query-execution-classic/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/query-execution-classic/ @10gen/query-execution-classic @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/query-execution-query-settings/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/query-execution-query-settings/ @10gen/query-execution-query-settings @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/query-integration-observability/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/query-integration-observability/ @10gen/query-integration-observability @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/query-integration-search/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/query-integration-search/ @10gen/query-integration-search @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/query-optimization/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/query-optimization/ @10gen/query-optimization @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/server-catalog-and-routing/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/server-catalog-and-routing/ @10gen/server-catalog-and-routing @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/server-security/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/server-security/ @10gen/server-security @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/multiVersion/targetedTestsLastLtsFeatures/storage_engine/OWNERS.yml
/jstests/multiVersion/targetedTestsLastLtsFeatures/storage_engine/**/* @10gen/server-storage-engine-integration @svc-auto-approve-bot
# The following patterns are parsed from ./jstests/noPassthrough/OWNERS.yml
/jstests/noPassthrough/**/*reproducible_initializer* @10gen/server-programmability @svc-auto-approve-bot
/jstests/noPassthrough/**/version.js @10gen/server-programmability @svc-auto-approve-bot

View File

@ -33,12 +33,12 @@ selector:
- jstests/multiVersion/genericBinVersion/minor_version_tags_new_old_new.js
- jstests/multiVersion/genericSetFCVUsage/crash_mongos_against_upgraded_cluster.js
- jstests/multiVersion/genericBinVersion/load_keys_on_upgrade.js
- jstests/multiVersion/targetedTestsLastLtsFeatures/server-security/dollar_audit_mixed_version_mongods.js
- jstests/multiVersion/genericBinVersion/server-security/dollar_audit_mixed_version_mongods.js
- jstests/multiVersion/libs/*.js
- jstests/multiVersion/genericBinVersion/minor_version_tags_new_old_new.js
- jstests/multiVersion/genericSetFCVUsage/crash_mongos_against_upgraded_cluster.js
- jstests/multiVersion/genericBinVersion/load_keys_on_upgrade.js
- jstests/multiVersion/targetedTestsLastLtsFeatures/server-security/dollar_audit_mixed_version_mongods.js
- jstests/multiVersion/genericBinVersion/server-security/dollar_audit_mixed_version_mongods.js
exclude_with_any_tags:
- featureFlagToaster
- featureFlagSpoon

View File

@ -156,7 +156,7 @@
# Skip any tests that run with auth explicitly.
- jstests/multiVersion/genericBinVersion/load_keys_on_upgrade.js
- jstests/multiVersion/targetedTestsLastLtsFeatures/server-security/dollar_audit_mixed_version_mongods.js
- jstests/multiVersion/genericBinVersion/server-security/dollar_audit_mixed_version_mongods.js
exclude_with_any_tags:
- DISABLED_TEMPORARILY_DUE_TO_FCV_UPGRADE

View File

@ -21,7 +21,7 @@ selector:
# Skip any tests that run with auth explicitly.
- jstests/multiVersion/genericBinVersion/load_keys_on_upgrade.js
- jstests/multiVersion/targetedTestsLastLtsFeatures/server-security/dollar_audit_mixed_version_mongods.js
- jstests/multiVersion/genericBinVersion/server-security/dollar_audit_mixed_version_mongods.js
exclude_with_any_tags:
- featureFlagToaster

View File

@ -1,31 +1,8 @@
# Multiversion Tests
## Context
These tests test upgrade/downgrade behavior expected between different versions of MongoDB.
These tests test specific upgrade/downgrade behavior expected between
different versions of MongoDB. Some of these tests will persist indefinitely & some of these tests
will be removed upon branching. All targeted tests must go in a targeted test directory. Do not put
any files in the multiVersion/ top-level directory.
Those that begin failing upon branching should be assessed by the owner teams:
## Generic Tests
These tests test the general functionality of upgrades/downgrades regardless
of version. These will persist indefinitely, as they should always pass regardless
of MongoDB version.
## Targeted Tests
These tests are specific to the current development cycle. These can/will fail after branching and
are subject to removal during branching.
### targetedTestsLastLtsFeatures
These tests rely on a specific last-lts version. After the next major release, last-lts is a
different version than expected, so these are subject to failure. Tests in this directory will be
removed after the next major release.
### targetedTestsLastContinuousFeatures
These tests rely on a specific last-continuous version. After the next minor release,
last-continuous is a different version than expected, so these are subject to failure. Tests in
this directory will be removed after the next minor release.
- Is the test only applicable to specific versions during specific development cycles? If so, delete it from irrelevant branches and master.
- Does the test add value for "last" (dynamic) version features? If so, modify the test to be more robust. These should always pass regardless of MongoDB version.

View File

@ -1,20 +1,41 @@
version: 1.0.0
version: 2.0.0
filters:
- "authz_schema_version.js":
approvers:
- 10gen/server-security
- "auto_bootstrap_upgrade_behavior.js":
approvers:
- 10gen/server-cluster-scalability
- "command_registration_startup_behavior_fcv.js":
approvers:
- 10gen/server-replication
- "*query_stats*":
approvers:
- 10gen/query-integration-observability
- "keystring_index.js":
approvers:
- 10gen/query-execution-write-exec
- "example_fcv_upgrade_downgrade_test.js":
approvers:
- 10gen/server-fcv
- "ident_suffix_compatability.js":
approvers:
- 10gen/server-storage-engine-integration
- "keystring_index.js":
approvers:
- 10gen/server-storage-engine-integration
- "minor_version*":
approvers:
- 10gen/server-fcv
- "mixed_cluster_roles.js":
approvers:
- 10gen/server-replication
- "mixed_replica_set_with_latest_primary.js":
approvers:
- 10gen/server-fcv
- "register_query_feature_flag.js":
approvers:
- 10gen/query
- "remove_invalid_index_options.js":
approvers:
- 10gen/server-catalog-and-routing-shard-catalog
- "upgrade_during_vectored_insert.js":
approvers:
- 10gen/server-replication

View File

@ -10,7 +10,7 @@ import {
rankFusionPipelineWithScoreDetails,
setupCollection,
assertRankFusionAggregateAccepted,
} from "jstests/multiVersion/targetedTestsLastLtsFeatures/query-integration-search/libs/rank_fusion_upgrade_downgrade_utils.js";
} from "jstests/multiVersion/genericBinVersion/query-integration-search/libs/rank_fusion_upgrade_downgrade_utils.js";
const viewName = "rank_fusion_view";

View File

@ -12,7 +12,7 @@ import {
getDB,
setupCollection,
assertRankFusionAggregateAccepted,
} from "jstests/multiVersion/targetedTestsLastLtsFeatures/query-integration-search/libs/rank_fusion_upgrade_downgrade_utils.js";
} from "jstests/multiVersion/genericBinVersion/query-integration-search/libs/rank_fusion_upgrade_downgrade_utils.js";
function assertRankFusionFeaturesAccepted(primaryConn) {
const db = getDB(primaryConn);

View File

@ -1,12 +0,0 @@
load("//bazel:mongo_js_rules.bzl", "all_subpackage_javascript_files", "mongo_js_library")
package(default_visibility = ["//visibility:public"])
mongo_js_library(
name = "all_javascript_files",
srcs = glob([
"*.js",
]),
)
all_subpackage_javascript_files()