summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildscripts/resmokeconfig/suites/replica_sets_multiversion.yml4
-rw-r--r--buildscripts/resmokeconfig/suites/sharding_multiversion.yml4
-rw-r--r--buildscripts/resmokelib/multiversionconstants.py9
-rw-r--r--etc/evergreen.yml2
-rw-r--r--evergreen/fcv_test_git_tag.sh13
-rw-r--r--jstests/aggregation/aggregation_with_uuids.js1
-rw-r--r--jstests/aggregation/api_version_stage_allowance_checks.js13
-rw-r--r--jstests/aggregation/expressions/date_add_subtract.js1
-rw-r--r--jstests/aggregation/expressions/date_diff.js1
-rw-r--r--jstests/aggregation/expressions/date_trunc.js1
-rw-r--r--jstests/aggregation/expressions/expression_get_field.js1
-rw-r--r--jstests/aggregation/expressions/expression_set_field.js5
-rw-r--r--jstests/aggregation/single_stage_alias_error.js1
-rw-r--r--jstests/aggregation/sources/lookup/lookup_foreign_collation.js1
-rw-r--r--jstests/aggregation/sources/merge/on_fields_validation.js5
-rw-r--r--jstests/aggregation/sources/out/out_dots_and_dollars_fields.js4
-rw-r--r--jstests/aggregation/sources/setWindowFields/optimize.js1
-rw-r--r--jstests/aggregation/sources/setWindowFields/window_functions_on_timeseries_coll.js1
-rw-r--r--jstests/auth/logout_deprecated.js3
-rw-r--r--jstests/change_streams/pipeline_style_updates.js3
-rw-r--r--jstests/change_streams/pipeline_style_updates_v2_oplog_entries.js3
-rw-r--r--jstests/concurrency/fsm_workloads/CRUD_and_commands.js3
-rw-r--r--jstests/concurrency/fsm_workloads/CRUD_and_commands_with_createindexes.js3
-rw-r--r--jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js3
-rw-r--r--jstests/concurrency/fsm_workloads/auth_privilege_consistency.js3
-rw-r--r--jstests/concurrency/fsm_workloads/create_timeseries_collection.js1
-rw-r--r--jstests/concurrency/fsm_workloads/find_cmd_with_indexes_timeseries.js1
-rw-r--r--jstests/concurrency/fsm_workloads/find_flip_sbe_enabled.js3
-rw-r--r--jstests/concurrency/fsm_workloads/insert_ttl_retry_writes_timeseries.js3
-rw-r--r--jstests/concurrency/fsm_workloads/insert_ttl_timeseries.js1
-rw-r--r--jstests/concurrency/fsm_workloads/profile_command.js4
-rw-r--r--jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js1
-rw-r--r--jstests/concurrency/fsm_workloads/random_DDL_operations.js1
-rw-r--r--jstests/concurrency/fsm_workloads/rename_sharded_collection.js1
-rw-r--r--jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_crud_operations.js7
-rw-r--r--jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_ddl_operations.js8
-rw-r--r--jstests/core/api_params_getmore.js5
-rw-r--r--jstests/core/api_version_find_and_modify.js5
-rw-r--r--jstests/core/api_version_new_50_language_features.js1
-rw-r--r--jstests/core/api_version_parameters.js3
-rw-r--r--jstests/core/api_version_pipeline_stages.js7
-rw-r--r--jstests/core/api_version_test_expression.js1
-rw-r--r--jstests/core/api_version_unstable_fields.js1
-rw-r--r--jstests/core/api_version_unstable_indexes.js3
-rw-r--r--jstests/core/apitest_db_profile_level.js5
-rw-r--r--jstests/core/apply_ops1.js1
-rw-r--r--jstests/core/array_index_and_nonIndex_consistent.js1
-rw-r--r--jstests/core/awaitdata_getmore_cmd.js1
-rw-r--r--jstests/core/batch_write_command_insert.js1
-rw-r--r--jstests/core/bypass_doc_validation.js1
-rw-r--r--jstests/core/capped_large_docs.js1
-rw-r--r--jstests/core/collMod_index_invalid_option.js3
-rw-r--r--jstests/core/collation.js3
-rw-r--r--jstests/core/command_let_variables.js1
-rw-r--r--jstests/core/commands_with_uuid.js5
-rw-r--r--jstests/core/compound_index_max_fields.js3
-rw-r--r--jstests/core/cover_null_queries.js5
-rw-r--r--jstests/core/covered_index_sort_no_fetch_optimization.js2
-rw-r--r--jstests/core/create_indexes.js1
-rw-r--r--jstests/core/currentop_shell.js1
-rw-r--r--jstests/core/dbstats.js1
-rw-r--r--jstests/core/disallow_system_views_user_writes.js1
-rw-r--r--jstests/core/doc_validation.js2
-rw-r--r--jstests/core/doc_validation_encrypt_keywords.js6
-rw-r--r--jstests/core/doc_validation_error.js3
-rw-r--r--jstests/core/doc_validation_options.js1
-rw-r--r--jstests/core/explain_find.js1
-rw-r--r--jstests/core/explain_find_and_modify.js4
-rw-r--r--jstests/core/explain_includes_command.js5
-rw-r--r--jstests/core/explain_multi_plan_count.js3
-rw-r--r--jstests/core/explain_server_params.js3
-rw-r--r--jstests/core/explain_shell_helpers.js1
-rw-r--r--jstests/core/explain_validation.js1
-rw-r--r--jstests/core/expr.js3
-rw-r--r--jstests/core/expr_index_use.js1
-rw-r--r--jstests/core/field_name_validation.js1
-rw-r--r--jstests/core/find_and_modify_invalid_query_params.js4
-rw-r--r--jstests/core/find_and_modify_metrics.js1
-rw-r--r--jstests/core/fts_explain.js1
-rw-r--r--jstests/core/fts_find_and_modify.js3
-rw-r--r--jstests/core/fts_index.js1
-rw-r--r--jstests/core/fts_querylang.js1
-rw-r--r--jstests/core/geo_oob_sphere.js1
-rw-r--r--jstests/core/geo_s2near.js1
-rw-r--r--jstests/core/geo_validate.js3
-rw-r--r--jstests/core/hashed_index_sort.js3
-rw-r--r--jstests/core/hashed_partial_and_sparse_index.js1
-rw-r--r--jstests/core/idhack.js3
-rw-r--r--jstests/core/index_filter_commands.js3
-rw-r--r--jstests/core/index_partial_create_drop.js1
-rw-r--r--jstests/core/index_partial_read_ops.js1
-rw-r--r--jstests/core/index_signature.js4
-rw-r--r--jstests/core/indexj.js3
-rw-r--r--jstests/core/insert2.js1
-rw-r--r--jstests/core/kill_cursors.js1
-rw-r--r--jstests/core/list_collections1.js1
-rw-r--r--jstests/core/mr_killop.js1
-rw-r--r--jstests/core/null_query_semantics.js5
-rw-r--r--jstests/core/or_to_in.js1
-rw-r--r--jstests/core/plan_cache_sbe.js3
-rw-r--r--jstests/core/positional_projection.js1
-rw-r--r--jstests/core/profile_findandmodify.js1
-rw-r--r--jstests/core/profile_list_indexes.js2
-rw-r--r--jstests/core/profile_update.js1
-rw-r--r--jstests/core/projection_dotted_paths.js3
-rw-r--r--jstests/core/push_sort.js4
-rw-r--r--jstests/core/regex_error.js3
-rw-r--r--jstests/core/regex_options.js3
-rw-r--r--jstests/core/rename_collection.js3
-rw-r--r--jstests/core/rename_collection_long_name.js1
-rw-r--r--jstests/core/rename_collection_system_db.js1
-rw-r--r--jstests/core/rename_collection_to_itself.js1
-rw-r--r--jstests/core/roles_info.js5
-rw-r--r--jstests/core/sample_rate.js1
-rw-r--r--jstests/core/single_field_hashed_index.js1
-rw-r--r--jstests/core/sort_merge.js3
-rw-r--r--jstests/core/text_covered_matching.js1
-rw-r--r--jstests/core/timeseries/bucket_granularity.js1
-rw-r--r--jstests/core/timeseries/bucket_timestamp_rounding.js1
-rw-r--r--jstests/core/timeseries/clustered_index_options.js7
-rw-r--r--jstests/core/timeseries/clustered_index_types.js1
-rw-r--r--jstests/core/timeseries/timeseries_bucket_drop.js1
-rw-r--r--jstests/core/timeseries/timeseries_bucket_index.js1
-rw-r--r--jstests/core/timeseries/timeseries_bucket_limit_count.js1
-rw-r--r--jstests/core/timeseries/timeseries_bucket_limit_size.js1
-rw-r--r--jstests/core/timeseries/timeseries_bucket_limit_time_range.js1
-rw-r--r--jstests/core/timeseries/timeseries_bucket_manual_removal.js1
-rw-r--r--jstests/core/timeseries/timeseries_collation.js1
-rw-r--r--jstests/core/timeseries/timeseries_create_collection.js1
-rw-r--r--jstests/core/timeseries/timeseries_delete.js1
-rw-r--r--jstests/core/timeseries/timeseries_expire.js1
-rw-r--r--jstests/core/timeseries/timeseries_expire_collmod.js7
-rw-r--r--jstests/core/timeseries/timeseries_explicit_unpack_bucket.js7
-rw-r--r--jstests/core/timeseries/timeseries_graph_lookup.js7
-rw-r--r--jstests/core/timeseries/timeseries_id_index.js1
-rw-r--r--jstests/core/timeseries/timeseries_id_range.js1
-rw-r--r--jstests/core/timeseries/timeseries_idle_buckets.js1
-rw-r--r--jstests/core/timeseries/timeseries_index.js1
-rw-r--r--jstests/core/timeseries/timeseries_index_collation.js1
-rw-r--r--jstests/core/timeseries/timeseries_index_skipped_record_tracker.js1
-rw-r--r--jstests/core/timeseries/timeseries_index_stats.js1
-rw-r--r--jstests/core/timeseries/timeseries_index_use.js1
-rw-r--r--jstests/core/timeseries/timeseries_list_collections.js1
-rw-r--r--jstests/core/timeseries/timeseries_list_collections_filter_name.js1
-rw-r--r--jstests/core/timeseries/timeseries_list_collections_invalid_view.js1
-rw-r--r--jstests/core/timeseries/timeseries_list_collections_missing_buckets_collection.js1
-rw-r--r--jstests/core/timeseries/timeseries_list_collections_missing_view.js1
-rw-r--r--jstests/core/timeseries/timeseries_lookup.js7
-rw-r--r--jstests/core/timeseries/timeseries_merge.js7
-rw-r--r--jstests/core/timeseries/timeseries_metadata.js1
-rw-r--r--jstests/core/timeseries/timeseries_min_max.js1
-rw-r--r--jstests/core/timeseries/timeseries_out.js9
-rw-r--r--jstests/core/timeseries/timeseries_out_of_order.js1
-rw-r--r--jstests/core/timeseries/timeseries_resume_after.js1
-rw-r--r--jstests/core/timeseries/timeseries_show_record_id.js1
-rw-r--r--jstests/core/timeseries/timeseries_simple.js1
-rw-r--r--jstests/core/timeseries/timeseries_sparse.js1
-rw-r--r--jstests/core/timeseries/timeseries_special_indexes.js1
-rw-r--r--jstests/core/timeseries/timeseries_text_geonear_disallowed.js9
-rw-r--r--jstests/core/timeseries/timeseries_union_with.js7
-rw-r--r--jstests/core/timeseries/timeseries_update.js1
-rw-r--r--jstests/core/txns/api_params_transaction.js5
-rw-r--r--jstests/core/txns/timeseries_create_in_txn.js3
-rw-r--r--jstests/core/txns/timeseries_insert_in_txn.js5
-rw-r--r--jstests/core/txns/timeseries_reads_in_txns.js1
-rw-r--r--jstests/core/update_addToSet.js4
-rw-r--r--jstests/core/update_arrayFilters.js1
-rw-r--r--jstests/core/update_bit_examples.js5
-rw-r--r--jstests/core/update_dbref.js4
-rw-r--r--jstests/core/update_invalid1.js4
-rw-r--r--jstests/core/update_metrics.js1
-rw-r--r--jstests/core/update_with_pipeline.js1
-rw-r--r--jstests/core/updateh.js4
-rw-r--r--jstests/core/validate_db_metadata_command.js1
-rw-r--r--jstests/core/verify_update_mods.js1
-rw-r--r--jstests/core/version_api_list_commands_verification.js4
-rw-r--r--jstests/core/version_api_v1_command_coverage.js5
-rw-r--r--jstests/core/views/views_validation.js1
-rw-r--r--jstests/core/wildcard_and_text_indexes.js1
-rw-r--r--jstests/core/wildcard_index_cached_plans.js3
-rw-r--r--jstests/core/wildcard_index_projection.js1
-rw-r--r--jstests/multiVersion/genericSetFCVUsage/major_version_upgrade.js1
-rw-r--r--jstests/multiVersion/verify_versions_test.js4
-rw-r--r--jstests/noPassthrough/api_version_2_commands.js1
-rw-r--r--jstests/noPassthrough/api_version_metrics.js3
-rw-r--r--jstests/noPassthrough/api_version_parameters_shell.js4
-rw-r--r--jstests/noPassthrough/cursor_server_status_metrics_sharded.js4
-rw-r--r--jstests/noPassthrough/internal_validate_features_as_primary.js3
-rw-r--r--jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js2
-rw-r--r--jstests/noPassthrough/operator_counters_expressions.js3
-rw-r--r--jstests/noPassthrough/profile_operation_metrics.js1
-rw-r--r--jstests/noPassthrough/server_status_metrics_dots_and_dollars_fields.js3
-rw-r--r--jstests/noPassthrough/timeseries_change_streams.js1
-rw-r--r--jstests/noPassthrough/timeseries_collStats.js1
-rw-r--r--jstests/noPassthrough/timeseries_create.js1
-rw-r--r--jstests/noPassthrough/timeseries_create_drop.js1
-rw-r--r--jstests/noPassthrough/timeseries_create_index_option_defaults.js1
-rw-r--r--jstests/noPassthrough/timeseries_downgrade_fcv.js1
-rw-r--r--jstests/noPassthrough/timeseries_latency_stats.js1
-rw-r--r--jstests/noPassthrough/timeseries_startup.js4
-rw-r--r--jstests/noPassthrough/timeseries_ttl.js1
-rw-r--r--jstests/noPassthrough/update_post_image_validation.js3
-rw-r--r--jstests/noPassthroughWithMongod/command_let_variables_merge_only.js1
-rw-r--r--jstests/replsets/advance_cluster_time.js3
-rw-r--r--jstests/replsets/auto_reconfig_remove_newly_added_and_stepup.js1
-rw-r--r--jstests/replsets/buildindexes_false_commit_quorum.js1
-rw-r--r--jstests/replsets/check_replication_hello_response_fields.js3
-rw-r--r--jstests/replsets/cluster_chaining_override.js2
-rw-r--r--jstests/replsets/cmd_hello_wire_version_compatibility.js1
-rw-r--r--jstests/replsets/currentOp_during_automatic_reconfig.js1
-rw-r--r--jstests/replsets/dbhash_lock_acquisition.js4
-rw-r--r--jstests/replsets/dbhash_read_at_cluster_time.js5
-rw-r--r--jstests/replsets/directoryperdb_remove_empty_dirs.js1
-rw-r--r--jstests/replsets/disallow_adding_initialized_node1.js3
-rw-r--r--jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js3
-rw-r--r--jstests/replsets/get_default_write_concern_majority.js3
-rw-r--r--jstests/replsets/heartbeat_reconfig_propagates_default_write_concern.js5
-rw-r--r--jstests/replsets/initial_sync1.js1
-rw-r--r--jstests/replsets/initial_sync_chooses_correct_sync_source.js1
-rw-r--r--jstests/replsets/initial_sync_replSetGetStatus.js2
-rw-r--r--jstests/replsets/initial_sync_succeeds_when_syncing_node_removed.js3
-rw-r--r--jstests/replsets/initiate_or_reconfig_with_non_default_get_last_error_defaults_fails.js5
-rw-r--r--jstests/replsets/isself_failure_initiate.js1
-rw-r--r--jstests/replsets/isself_failure_reconfig.js1
-rw-r--r--jstests/replsets/isself_failure_restart.js3
-rw-r--r--jstests/replsets/new_sync_source_in_quiesce_mode.js3
-rw-r--r--jstests/replsets/newly_added_member_id_vs_index.js1
-rw-r--r--jstests/replsets/newly_added_two_nodes_simultaneous.js1
-rw-r--r--jstests/replsets/newly_added_user_reconfig_while_exiting_initial_sync.js1
-rw-r--r--jstests/replsets/newly_added_with_user_reconfig.js1
-rw-r--r--jstests/replsets/nodes_eventually_sync_from_closer_data_center.js3
-rw-r--r--jstests/replsets/nodes_in_primarys_datacenter_dont_sync_across_datacenters.js5
-rw-r--r--jstests/replsets/non_transaction_snapshot_reads.js1
-rw-r--r--jstests/replsets/oplog_format.js3
-rw-r--r--jstests/replsets/pin_history_after_restart.js5
-rw-r--r--jstests/replsets/prepare_transaction_read_at_cluster_time.js5
-rw-r--r--jstests/replsets/query_with_txn_prepared.js1
-rw-r--r--jstests/replsets/quiesce_mode.js1
-rw-r--r--jstests/replsets/read_at_cluster_time_outside_transactions.js1
-rw-r--r--jstests/replsets/read_committed_with_catalog_changes.js1
-rw-r--r--jstests/replsets/read_concern_snapshot_uses_committed.js1
-rw-r--r--jstests/replsets/read_operations_during_rollback.js4
-rw-r--r--jstests/replsets/reconfig_avoids_rolling_back_committed_writes_in_psa_sets.js3
-rw-r--r--jstests/replsets/reconfig_fails_no_cwwc_set.js4
-rw-r--r--jstests/replsets/reindex.js3
-rw-r--r--jstests/replsets/remove1.js5
-rw-r--r--jstests/replsets/remove_newly_added_field_after_finishing_initial_sync.js1
-rw-r--r--jstests/replsets/remove_newly_added_field_votes_zero.js1
-rw-r--r--jstests/replsets/remove_newly_added_member_index_swap_concurrent.js1
-rw-r--r--jstests/replsets/restart_index_build_if_resume_interrupted_by_rollback.js1
-rw-r--r--jstests/replsets/resume_after_against_oplog.js1
-rw-r--r--jstests/replsets/rollback_clustered_indexes.js1
-rw-r--r--jstests/replsets/rollback_resumable_index_build_collection_scan_phase.js1
-rw-r--r--jstests/replsets/rollback_resumable_index_build_collection_scan_phase_large.js1
-rw-r--r--jstests/replsets/rollback_resumable_index_build_drain_writes_phase.js1
-rw-r--r--jstests/replsets/rollback_resumable_index_build_mixed_phases.js1
-rw-r--r--jstests/replsets/secondarydelaysecs_clean_shutdown.js4
-rw-r--r--jstests/replsets/secondarydelaysecs_sync_source.js3
-rw-r--r--jstests/replsets/secondarydelaysecs_waits_for_writes.js3
-rw-r--r--jstests/replsets/snapshot_reads_before_initial_sync_finishes.js1
-rw-r--r--jstests/replsets/split_horizon_startup_warning.js4
-rw-r--r--jstests/replsets/sync_source_enters_quiesce_mode.js1
-rw-r--r--jstests/replsets/tenant_migration_abort_forget_retry.js9
-rw-r--r--jstests/replsets/tenant_migration_aborted_buildindex.js2
-rw-r--r--jstests/replsets/tenant_migration_blocking_state_timeout.js9
-rw-r--r--jstests/replsets/tenant_migration_buildindex.js9
-rw-r--r--jstests/replsets/tenant_migration_causal_consistency_commit_optime_before_last_cloning_optime.js11
-rw-r--r--jstests/replsets/tenant_migration_cloner_stats.js9
-rw-r--r--jstests/replsets/tenant_migration_cloner_stats_with_failover.js9
-rw-r--r--jstests/replsets/tenant_migration_clones_system_views.js9
-rw-r--r--jstests/replsets/tenant_migration_cloning_uses_read_concern_majority.js9
-rw-r--r--jstests/replsets/tenant_migration_cluster_time_keys_cloning.js9
-rw-r--r--jstests/replsets/tenant_migration_collection_ttl.js9
-rw-r--r--jstests/replsets/tenant_migration_commit_transaction_retry.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_bulk_writes.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_migrations.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_migrations_recipient.js11
-rw-r--r--jstests/replsets/tenant_migration_concurrent_reads_on_donor.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_reads_on_recipient.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_reconfig.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_state_doc_removal_and_stepdown.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_writes_on_donor.js9
-rw-r--r--jstests/replsets/tenant_migration_concurrent_writes_on_recipient.js9
-rw-r--r--jstests/replsets/tenant_migration_conflicting_donor_start_migration_cmds.js9
-rw-r--r--jstests/replsets/tenant_migration_conflicting_recipient_sync_data_cmds.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_abort_state_transition.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_current_op.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_initial_sync_recovery.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_interrupt_on_stepdown_and_shutdown.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_kill_op_retry.js10
-rw-r--r--jstests/replsets/tenant_migration_donor_resume_on_stepup_and_restart.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_retry.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_rollback_during_cloning.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_rollback_recovery.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_shutdown_while_blocking_reads.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_startup_recovery.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_state_machine.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_try_abort.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_unblock_reads_and_writes_on_completion.js9
-rw-r--r--jstests/replsets/tenant_migration_donor_wont_retry_recipientsyncdata_on_non_retriable_interruption_errors.js2
-rw-r--r--jstests/replsets/tenant_migration_drop_collection.js9
-rw-r--r--jstests/replsets/tenant_migration_drop_state_doc_collection.js9
-rw-r--r--jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js9
-rw-r--r--jstests/replsets/tenant_migration_external_cluster_validation.js9
-rw-r--r--jstests/replsets/tenant_migration_external_keys_ttl.js9
-rw-r--r--jstests/replsets/tenant_migration_fetch_committed_transactions.js9
-rw-r--r--jstests/replsets/tenant_migration_fetch_committed_transactions_retry.js9
-rw-r--r--jstests/replsets/tenant_migration_filters_tenant_id.js9
-rw-r--r--jstests/replsets/tenant_migration_find_and_modify_retry.js9
-rw-r--r--jstests/replsets/tenant_migration_ignore_create_index_on_nonempty_collection.js9
-rw-r--r--jstests/replsets/tenant_migration_index_oplog_entries.js8
-rw-r--r--jstests/replsets/tenant_migration_invalid_inputs.js8
-rw-r--r--jstests/replsets/tenant_migration_large_txn.js9
-rw-r--r--jstests/replsets/tenant_migration_logs.js9
-rw-r--r--jstests/replsets/tenant_migration_metrics_output.js9
-rw-r--r--jstests/replsets/tenant_migration_multi_writes.js9
-rw-r--r--jstests/replsets/tenant_migration_multikey_index.js9
-rw-r--r--jstests/replsets/tenant_migration_network_error_via_rollback.js9
-rw-r--r--jstests/replsets/tenant_migration_no_failover.js9
-rw-r--r--jstests/replsets/tenant_migration_oplog_view.js6
-rw-r--r--jstests/replsets/tenant_migration_read_your_own_writes.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_current_op.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_does_not_change_sync_source_after_step_down.js8
-rw-r--r--jstests/replsets/tenant_migration_recipient_failover_before_creating_oplog_buffer.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_entry_after_committed_snapshot.js6
-rw-r--r--jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_oplog_entries.js6
-rw-r--r--jstests/replsets/tenant_migration_recipient_has_tenant_data.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_initial_sync_cloning.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_invalidates_in_memory_txns.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_resume_on_stepup_and_restart.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_resumes_on_donor_failover.js11
-rw-r--r--jstests/replsets/tenant_migration_recipient_retry_forget_migration.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_retryable_writes_failover.js6
-rw-r--r--jstests/replsets/tenant_migration_recipient_rollback_recovery.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_startup_recovery.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_stepdown_after_forget.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_sync_data_timeout.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_sync_donor_timestamp.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_sync_source_reconnect_delayed_secondary.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_sync_source_restart_donor_secondary.js9
-rw-r--r--jstests/replsets/tenant_migration_recipient_ttl.js8
-rw-r--r--jstests/replsets/tenant_migration_resume_collection_cloner_after_recipient_failover.js8
-rw-r--r--jstests/replsets/tenant_migration_resume_collection_cloner_after_rename.js9
-rw-r--r--jstests/replsets/tenant_migration_resume_oplog_application.js9
-rw-r--r--jstests/replsets/tenant_migration_retry_session_migration.js9
-rw-r--r--jstests/replsets/tenant_migration_retryable_write_retry.js9
-rw-r--r--jstests/replsets/tenant_migration_retryable_write_retry_on_recipient.js9
-rw-r--r--jstests/replsets/tenant_migration_ssl_configuration.js8
-rw-r--r--jstests/replsets/tenant_migration_stepup_recovery_after_abort.js9
-rw-r--r--jstests/replsets/tenant_migration_sync_source_too_stale.js9
-rw-r--r--jstests/replsets/tenant_migration_test_max_bson_limit.js9
-rw-r--r--jstests/replsets/tenant_migration_timeseries_collections.js9
-rw-r--r--jstests/replsets/tenant_migration_timeseries_retryable_write_oplog_cloning.js9
-rw-r--r--jstests/replsets/tenant_migration_timeseries_retryable_write_retry_on_recipient.js9
-rw-r--r--jstests/replsets/tenant_migration_v1_id_index.js9
-rw-r--r--jstests/replsets/tenant_migration_x509.js9
-rw-r--r--jstests/replsets/tenant_migrations_back_to_back.js9
-rw-r--r--jstests/replsets/tenant_migrations_noop_writes.js9
-rw-r--r--jstests/replsets/tenant_migrations_transaction_with_create_collection.js9
-rw-r--r--jstests/replsets/test-egress.js3
-rw-r--r--jstests/replsets/test_only_repl_commands.js1
-rw-r--r--jstests/replsets/unpin_history_after_rollback.js5
-rw-r--r--jstests/replsets/unsafe_reconfig_to_psa_set_fails.js2
-rw-r--r--jstests/replsets/use_history_after_restart.js5
-rw-r--r--jstests/replsets/v2_delta_oplog_entries.js2
-rw-r--r--jstests/sharding/api_version_test_expression.js5
-rw-r--r--jstests/sharding/cannot_unset_cluster_wide_write_concern_once_set.js3
-rw-r--r--jstests/sharding/change_streams/change_stream_on_system_collection.js1
-rw-r--r--jstests/sharding/chunk_history_window.js1
-rw-r--r--jstests/sharding/configsvr_remove_chunks.js1
-rw-r--r--jstests/sharding/configsvr_remove_tags.js3
-rw-r--r--jstests/sharding/configsvr_retries_createindex_on_stale_config.js5
-rw-r--r--jstests/sharding/cwwc_conflict_add_shard.js2
-rw-r--r--jstests/sharding/ddl_ops_reported_on_current_op_command.js3
-rw-r--r--jstests/sharding/disable_resumable_range_deleter.js3
-rw-r--r--jstests/sharding/drop_configdb.js3
-rw-r--r--jstests/sharding/implicit_default_write_concern_add_shard.js2
-rw-r--r--jstests/sharding/insert_api_version_consistency.js1
-rw-r--r--jstests/sharding/kill_pinned_cursor.js4
-rw-r--r--jstests/sharding/lookup_from_config_cache_chunks.js2
-rw-r--r--jstests/sharding/mongos_not_retry_commands_in_transactions.js5
-rw-r--r--jstests/sharding/mongos_quiesce_mode.js1
-rw-r--r--jstests/sharding/move_chunk_allowMigrations.js1
-rw-r--r--jstests/sharding/move_chunk_critical_section_non_internal_client_abort.js1
-rw-r--r--jstests/sharding/multi_update_orphan_shard_key.js3
-rw-r--r--jstests/sharding/non_transaction_snapshot_errors.js1
-rw-r--r--jstests/sharding/non_transaction_snapshot_reads_retry.js1
-rw-r--r--jstests/sharding/queries_elide_shard_filter.js3
-rw-r--r--jstests/sharding/query/agg_mongos_merge.js2
-rw-r--r--jstests/sharding/query/collation_lookup.js1
-rw-r--r--jstests/sharding/query/cursor_timeout.js1
-rw-r--r--jstests/sharding/query/lookup_graph_lookup_foreign_becomes_sharded.js2
-rw-r--r--jstests/sharding/query/lookup_mongod_unaware.js2
-rw-r--r--jstests/sharding/query/lookup_pushdown_through_sort.js3
-rw-r--r--jstests/sharding/query/pipeline_length_limit.js3
-rw-r--r--jstests/sharding/query/view_on_shard_rewrite.js1
-rw-r--r--jstests/sharding/read_write_concern_defaults_commands_api.js3
-rw-r--r--jstests/sharding/refine_shardkey_config_cache_refresh.js2
-rw-r--r--jstests/sharding/remove_shard_near_doc_size_limit.js7
-rw-r--r--jstests/sharding/rename_sharded.js2
-rw-r--r--jstests/sharding/reshard_collection_basic.js1
-rw-r--r--jstests/sharding/reshard_collection_existing_sk_index_not_duplicated.js1
-rw-r--r--jstests/sharding/reshard_collection_failover_shutdown_basic.js1
-rw-r--r--jstests/sharding/reshard_collection_joins_existing_operation.js1
-rw-r--r--jstests/sharding/resharding_abort_command.js2
-rw-r--r--jstests/sharding/resharding_abort_in_preparing_to_donate.js1
-rw-r--r--jstests/sharding/resharding_array_shard_key.js4
-rw-r--r--jstests/sharding/resharding_change_stream_internal_ops.js1
-rw-r--r--jstests/sharding/resharding_change_streams_resumability.js2
-rw-r--r--jstests/sharding/resharding_clones_duplicate_key.js1
-rw-r--r--jstests/sharding/resharding_clones_initial_data.js1
-rw-r--r--jstests/sharding/resharding_collection_cloner.js1
-rw-r--r--jstests/sharding/resharding_collection_cloner_resuming.js1
-rw-r--r--jstests/sharding/resharding_commit.js2
-rw-r--r--jstests/sharding/resharding_critical_section_timeout.js1
-rw-r--r--jstests/sharding/resharding_disallow_drop.js1
-rw-r--r--jstests/sharding/resharding_disallow_writes.js1
-rw-r--r--jstests/sharding/resharding_fails_on_nonempty_stash.js1
-rw-r--r--jstests/sharding/resharding_feature_flagging.js1
-rw-r--r--jstests/sharding/resharding_indexBuilds.js1
-rw-r--r--jstests/sharding/resharding_large_number_of_initial_chunks.js1
-rw-r--r--jstests/sharding/resharding_metrics.js1
-rw-r--r--jstests/sharding/resharding_metrics_increment.js1
-rw-r--r--jstests/sharding/resharding_min_fetch_ts_with_txn.js2
-rw-r--r--jstests/sharding/resharding_on_existing_key_is_noop.js4
-rw-r--r--jstests/sharding/resharding_oplog_sync_agg_assert_min_oplog.js1
-rw-r--r--jstests/sharding/resharding_oplog_sync_agg_resume_token.js1
-rw-r--r--jstests/sharding/resharding_prohibited_commands.js1
-rw-r--r--jstests/sharding/resharding_read_from_secondary.js1
-rw-r--r--jstests/sharding/resharding_replicate_updates_as_insert_delete.js1
-rw-r--r--jstests/sharding/resharding_retryable_writes.js4
-rw-r--r--jstests/sharding/resharding_size_estimate.js1
-rw-r--r--jstests/sharding/resharding_txn_cloner.js1
-rw-r--r--jstests/sharding/resharding_verify_primary_catalog_consistency.js1
-rw-r--r--jstests/sharding/resharding_write_when_temp_ns_routing_info_unknown.js3
-rw-r--r--jstests/sharding/safe_secondary_reads_causal_consistency.js3
-rw-r--r--jstests/sharding/sessions_collection_auto_healing.js3
-rw-r--r--jstests/sharding/sharding_non_transaction_snapshot_aggregate.js1
-rw-r--r--jstests/sharding/sharding_non_transaction_snapshot_read.js1
-rw-r--r--jstests/sharding/snapshot_reads_target_at_point_in_time.js1
-rw-r--r--jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js4
-rw-r--r--jstests/sharding/tenant_migration_disallowed_in_sharded_cluster.js8
-rw-r--r--jstests/sharding/test_resharding_test_fixture.js1
-rw-r--r--jstests/sharding/test_resharding_test_fixture_detects_unowned_docs.js1
-rw-r--r--jstests/sharding/test_resharding_test_fixture_unexpected_failure_returns.js1
-rw-r--r--jstests/sharding/test_resharding_test_fixture_using_with_syntax.js1
-rw-r--r--jstests/sharding/timeseries_cluster_collstats.js1
-rw-r--r--jstests/sharding/timeseries_shard_collection.js1
-rw-r--r--jstests/sharding/txn_two_phase_commit_write_concern.js4
-rw-r--r--jstests/sharding/write_concern_basic.js3
-rw-r--r--src/mongo/db/catalog/collection_impl.cpp2
-rw-r--r--src/mongo/db/commands/feature_compatibility_version_parser.cpp12
-rw-r--r--src/mongo/db/commands/feature_compatibility_version_parser.h44
-rw-r--r--src/mongo/db/commands/find_and_modify.cpp2
-rw-r--r--src/mongo/db/commands/set_feature_compatibility_version_command.cpp10
-rw-r--r--src/mongo/db/exec/upsert_stage.cpp2
-rw-r--r--src/mongo/db/matcher/expression_parser.cpp2
-rw-r--r--src/mongo/db/ops/insert.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_sum.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_set_window_fields.cpp4
-rw-r--r--src/mongo/db/pipeline/expression.cpp55
-rw-r--r--src/mongo/db/pipeline/field_path.cpp2
-rw-r--r--src/mongo/db/s/create_collection_coordinator.cpp2
-rw-r--r--src/mongo/db/s/resharding/resharding_coordinator_service.cpp2
-rw-r--r--src/mongo/db/s/shard_collection_legacy.cpp2
-rw-r--r--src/mongo/db/s/sharding_ddl_50_upgrade_downgrade.cpp10
-rw-r--r--src/mongo/db/s/sharding_ddl_util.cpp2
-rw-r--r--src/mongo/db/server_options.h62
-rw-r--r--src/mongo/db/update/pipeline_executor.cpp2
-rw-r--r--src/mongo/db/update/storage_validation.cpp6
-rw-r--r--src/mongo/db/wire_version.h7
-rw-r--r--src/mongo/idl/feature_flag_test.cpp10
-rw-r--r--src/mongo/idl/feature_flag_test.idl4
-rw-r--r--src/mongo/idl/idl_parser.h2
-rw-r--r--src/mongo/shell/feature_compatibility_version.js8
-rw-r--r--src/mongo/shell/servers.js2
477 files changed, 1123 insertions, 815 deletions
diff --git a/buildscripts/resmokeconfig/suites/replica_sets_multiversion.yml b/buildscripts/resmokeconfig/suites/replica_sets_multiversion.yml
index 82fb942a2af..2bdcadeea21 100644
--- a/buildscripts/resmokeconfig/suites/replica_sets_multiversion.yml
+++ b/buildscripts/resmokeconfig/suites/replica_sets_multiversion.yml
@@ -5,10 +5,6 @@ selector:
- jstests/replsets/*.js
exclude_with_any_tags:
- multiversion_incompatible
- - requires_fcv_47
- - requires_fcv_48
- - requires_fcv_49
- - requires_fcv_50
- requires_fcv_51
- backport_required_multiversion
- replica_sets_multiversion_backport_required_multiversion
diff --git a/buildscripts/resmokeconfig/suites/sharding_multiversion.yml b/buildscripts/resmokeconfig/suites/sharding_multiversion.yml
index 2f3e3747eec..6327f5b3330 100644
--- a/buildscripts/resmokeconfig/suites/sharding_multiversion.yml
+++ b/buildscripts/resmokeconfig/suites/sharding_multiversion.yml
@@ -7,10 +7,6 @@ selector:
- jstests/sharding/query/*.js
exclude_with_any_tags:
- multiversion_incompatible
- - requires_fcv_47
- - requires_fcv_48
- - requires_fcv_49
- - requires_fcv_50
- requires_fcv_51
- backport_required_multiversion
- replica_sets_multiversion_backport_required_multiversion
diff --git a/buildscripts/resmokelib/multiversionconstants.py b/buildscripts/resmokelib/multiversionconstants.py
index e623d4159f6..f8a2f4e04f4 100644
--- a/buildscripts/resmokelib/multiversionconstants.py
+++ b/buildscripts/resmokelib/multiversionconstants.py
@@ -1,10 +1,10 @@
"""FCV and Server binary version constants used for multiversion testing."""
-LAST_LTS_BIN_VERSION = "4.4"
+LAST_LTS_BIN_VERSION = "5.0"
LAST_CONTINUOUS_BIN_VERSION = "5.0"
-LAST_LTS_FCV = "4.4"
+LAST_LTS_FCV = "5.0"
LAST_CONTINUOUS_FCV = "5.0"
-LATEST_FCV = "5.0"
+LATEST_FCV = "5.1"
LAST_CONTINUOUS_MONGO_BINARY = "mongo-" + LAST_CONTINUOUS_BIN_VERSION
LAST_CONTINUOUS_MONGOD_BINARY = "mongod-" + LAST_CONTINUOUS_BIN_VERSION
@@ -13,5 +13,4 @@ LAST_CONTINUOUS_MONGOS_BINARY = "mongos-" + LAST_CONTINUOUS_BIN_VERSION
LAST_LTS_MONGO_BINARY = "mongo-" + LAST_LTS_BIN_VERSION
LAST_LTS_MONGOD_BINARY = "mongod-" + LAST_LTS_BIN_VERSION
LAST_LTS_MONGOS_BINARY = "mongos-" + LAST_LTS_BIN_VERSION
-
-REQUIRES_FCV_TAG = "requires_fcv_47,requires_fcv_48,requires_fcv_49,requires_fcv_50"
+REQUIRES_FCV_TAG = "requires_fcv_51"
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 899c2cf0330..28978b3a66b 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -9442,7 +9442,7 @@ buildvariants:
- rhel80-small
expansions: &enterprise-rhel-80-64-bit-multiversion
test_flags: >-
- --excludeWithAnyTags=requires_fcv_47,requires_fcv_48,requires_fcv_49,requires_fcv_50,multiversion_incompatible,disabled_due_to_server_58295
+ --excludeWithAnyTags=requires_fcv_51,multiversion_incompatible,disabled_due_to_server_58295
compile_flags: >-
-j$(grep -c ^processor /proc/cpuinfo)
--ssl
diff --git a/evergreen/fcv_test_git_tag.sh b/evergreen/fcv_test_git_tag.sh
new file mode 100644
index 00000000000..aff686e4e82
--- /dev/null
+++ b/evergreen/fcv_test_git_tag.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# For FCV testing only.
+# Tag the local branch with the new tag before running tests.
+
+set -o errexit
+set -o verbose
+
+cd src
+git config user.name "Evergreen patch build"
+git config user.email "evergreen@mongodb.com"
+git tag -a r5.1.0-alpha -m 5.1.0-alpha
+git describe
diff --git a/jstests/aggregation/aggregation_with_uuids.js b/jstests/aggregation/aggregation_with_uuids.js
index 1e1245c8cb1..88beca6a2b0 100644
--- a/jstests/aggregation/aggregation_with_uuids.js
+++ b/jstests/aggregation/aggregation_with_uuids.js
@@ -1,7 +1,6 @@
/**
* Tests for aggregation requests with the collectionUUID parameter.
* @tags: [
- * requires_fcv_47,
* # Change stream aggregations don't support read concerns other than 'majority'
* assumes_read_concern_unchanged,
* ]
diff --git a/jstests/aggregation/api_version_stage_allowance_checks.js b/jstests/aggregation/api_version_stage_allowance_checks.js
index 2748bb216ed..7d718346b6d 100644
--- a/jstests/aggregation/api_version_stage_allowance_checks.js
+++ b/jstests/aggregation/api_version_stage_allowance_checks.js
@@ -3,13 +3,12 @@
* flags.
*
* @tags: [
- * uses_api_parameters,
- * requires_fcv_49,
- * assumes_unsharded_collection,
- * do_not_wrap_aggregations_in_facets,
- * assumes_read_preference_unchanged,
- * assumes_read_concern_unchanged,
- * assumes_against_mongod_not_mongos
+ * assumes_against_mongod_not_mongos,
+ * assumes_read_concern_unchanged,
+ * assumes_read_preference_unchanged,
+ * assumes_unsharded_collection,
+ * do_not_wrap_aggregations_in_facets,
+ * uses_api_parameters,
* ]
*/
(function() {
diff --git a/jstests/aggregation/expressions/date_add_subtract.js b/jstests/aggregation/expressions/date_add_subtract.js
index d17b7801b93..57490d19622 100644
--- a/jstests/aggregation/expressions/date_add_subtract.js
+++ b/jstests/aggregation/expressions/date_add_subtract.js
@@ -1,7 +1,6 @@
/**
* Tests for $dateAdd and $dateSubtract expressions.
* @tags: [
- * requires_fcv_49
* ]
*/
diff --git a/jstests/aggregation/expressions/date_diff.js b/jstests/aggregation/expressions/date_diff.js
index 34423add6b7..2d8f0af86ab 100644
--- a/jstests/aggregation/expressions/date_diff.js
+++ b/jstests/aggregation/expressions/date_diff.js
@@ -1,7 +1,6 @@
/**
* Tests $dateDiff expression.
* @tags: [
- * requires_fcv_49
* ]
*/
(function() {
diff --git a/jstests/aggregation/expressions/date_trunc.js b/jstests/aggregation/expressions/date_trunc.js
index a2276fb64fe..11551b6e84c 100644
--- a/jstests/aggregation/expressions/date_trunc.js
+++ b/jstests/aggregation/expressions/date_trunc.js
@@ -1,7 +1,6 @@
/**
* Tests $dateTrunc expression.
* @tags: [
- * requires_fcv_49
* ]
*/
(function() {
diff --git a/jstests/aggregation/expressions/expression_get_field.js b/jstests/aggregation/expressions/expression_get_field.js
index 062a410dcdd..3417d5de922 100644
--- a/jstests/aggregation/expressions/expression_get_field.js
+++ b/jstests/aggregation/expressions/expression_get_field.js
@@ -1,7 +1,6 @@
/**
* Tests basic functionality of the $getField expression.
* @tags: [
- * requires_fcv_50
* ]
*/
(function() {
diff --git a/jstests/aggregation/expressions/expression_set_field.js b/jstests/aggregation/expressions/expression_set_field.js
index 88d081fdcdb..bdadb1ee14b 100644
--- a/jstests/aggregation/expressions/expression_set_field.js
+++ b/jstests/aggregation/expressions/expression_set_field.js
@@ -1,7 +1,8 @@
/**
* Tests basic functionality of the $setField expression and the $unsetField alias.
- * @tags: [assumes_unsharded_collection,
- * requires_fcv_50]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/aggregation/single_stage_alias_error.js b/jstests/aggregation/single_stage_alias_error.js
index 81a76b7e8c3..733df85df52 100644
--- a/jstests/aggregation/single_stage_alias_error.js
+++ b/jstests/aggregation/single_stage_alias_error.js
@@ -2,7 +2,6 @@
* Tests to verify that single aggregation stages that are input into an aggregation pipeline by
* the user under an aliased name use that name when reporting errors back to the user.
* @tags: [
- * requires_fcv_50
* ]
*/
diff --git a/jstests/aggregation/sources/lookup/lookup_foreign_collation.js b/jstests/aggregation/sources/lookup/lookup_foreign_collation.js
index 95430e7c8df..d0f69e4791c 100644
--- a/jstests/aggregation/sources/lookup/lookup_foreign_collation.js
+++ b/jstests/aggregation/sources/lookup/lookup_foreign_collation.js
@@ -4,7 +4,6 @@
* assumes_unsharded_collection,
* do_not_wrap_aggregations_in_facets,
* requires_pipeline_optimization,
- * requires_fcv_50,
* ]
*/
load("jstests/aggregation/extras/utils.js"); // For anyEq.
diff --git a/jstests/aggregation/sources/merge/on_fields_validation.js b/jstests/aggregation/sources/merge/on_fields_validation.js
index 160aeb560d5..bd2e9106230 100644
--- a/jstests/aggregation/sources/merge/on_fields_validation.js
+++ b/jstests/aggregation/sources/merge/on_fields_validation.js
@@ -4,8 +4,9 @@
*
* This test creates unique indexes on various combinations of fields, so it cannot be run in suites
* that implicitly shard the collection with a hashed shard key.
- * @tags: [cannot_create_unique_index_when_using_hashed_shard_key,
- * requires_fcv_50]
+ * @tags: [
+ * cannot_create_unique_index_when_using_hashed_shard_key,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/aggregation/sources/out/out_dots_and_dollars_fields.js b/jstests/aggregation/sources/out/out_dots_and_dollars_fields.js
index 443587a46b9..26ff364377c 100644
--- a/jstests/aggregation/sources/out/out_dots_and_dollars_fields.js
+++ b/jstests/aggregation/sources/out/out_dots_and_dollars_fields.js
@@ -2,7 +2,9 @@
//
// This test assumes that collections are not implicitly sharded, since $out is prohibited if the
// output collection is sharded.
-// @tags: [assumes_unsharded_collection, requires_fcv_50]
+// @tags: [
+// assumes_unsharded_collection,
+// ]
(function() {
"use strict";
diff --git a/jstests/aggregation/sources/setWindowFields/optimize.js b/jstests/aggregation/sources/setWindowFields/optimize.js
index 14b643696ff..10afd74d9cc 100644
--- a/jstests/aggregation/sources/setWindowFields/optimize.js
+++ b/jstests/aggregation/sources/setWindowFields/optimize.js
@@ -5,7 +5,6 @@
* assumes_unsharded_collection,
* do_not_wrap_aggregations_in_facets,
* requires_pipeline_optimization,
- * requires_fcv_50,
* ]
*/
(function() {
diff --git a/jstests/aggregation/sources/setWindowFields/window_functions_on_timeseries_coll.js b/jstests/aggregation/sources/setWindowFields/window_functions_on_timeseries_coll.js
index 29b8717fdec..3df9fad67e3 100644
--- a/jstests/aggregation/sources/setWindowFields/window_functions_on_timeseries_coll.js
+++ b/jstests/aggregation/sources/setWindowFields/window_functions_on_timeseries_coll.js
@@ -7,7 +7,6 @@
* do_not_wrap_aggregations_in_facets,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_pipeline_optimization,
* requires_timeseries,
* ]
diff --git a/jstests/auth/logout_deprecated.js b/jstests/auth/logout_deprecated.js
index bb40caedadd..ec95cc3b9ad 100644
--- a/jstests/auth/logout_deprecated.js
+++ b/jstests/auth/logout_deprecated.js
@@ -3,9 +3,8 @@
*
* @tags: [
* requires_auth,
- * requires_sharding,
* requires_non_retryable_commands,
- * requires_fcv_50
+ * requires_sharding,
* ]
*/
(function() {
diff --git a/jstests/change_streams/pipeline_style_updates.js b/jstests/change_streams/pipeline_style_updates.js
index 921e039fc3b..45aa3374cf1 100644
--- a/jstests/change_streams/pipeline_style_updates.js
+++ b/jstests/change_streams/pipeline_style_updates.js
@@ -2,7 +2,8 @@
* Test the change events generated by pipeline-based updates are expected with delta format oplog
* enabled and disabled.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/change_streams/pipeline_style_updates_v2_oplog_entries.js b/jstests/change_streams/pipeline_style_updates_v2_oplog_entries.js
index 682a7d188b3..23b88ef256b 100644
--- a/jstests/change_streams/pipeline_style_updates_v2_oplog_entries.js
+++ b/jstests/change_streams/pipeline_style_updates_v2_oplog_entries.js
@@ -1,7 +1,8 @@
/**
* Test pipeline-style updates with delta oplog entries.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/concurrency/fsm_workloads/CRUD_and_commands.js b/jstests/concurrency/fsm_workloads/CRUD_and_commands.js
index b5d7b7f7670..047c22bb682 100644
--- a/jstests/concurrency/fsm_workloads/CRUD_and_commands.js
+++ b/jstests/concurrency/fsm_workloads/CRUD_and_commands.js
@@ -4,7 +4,8 @@
* Perform CRUD operations, some of which may implicitly create collections, in parallel with
* collection-dropping operations.
*
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
var $config = (function() {
const data = {numIds: 10};
diff --git a/jstests/concurrency/fsm_workloads/CRUD_and_commands_with_createindexes.js b/jstests/concurrency/fsm_workloads/CRUD_and_commands_with_createindexes.js
index d4c2bbefe4a..890225b15fe 100644
--- a/jstests/concurrency/fsm_workloads/CRUD_and_commands_with_createindexes.js
+++ b/jstests/concurrency/fsm_workloads/CRUD_and_commands_with_createindexes.js
@@ -5,7 +5,8 @@
* creations which may implicitly create collections. Performs these in parallel with collection-
* dropping operations.
*
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload
load('jstests/concurrency/fsm_workloads/CRUD_and_commands.js'); // for $config
diff --git a/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js b/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js
index 5441a21ed49..e6147c3d954 100644
--- a/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js
+++ b/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js
@@ -5,7 +5,8 @@
*
* Validate user permission consistency during cache miss and slow load.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
// Use the auth_privilege_consistency workload as a base.
diff --git a/jstests/concurrency/fsm_workloads/auth_privilege_consistency.js b/jstests/concurrency/fsm_workloads/auth_privilege_consistency.js
index ad7c2a447a6..7fd6c19aef3 100644
--- a/jstests/concurrency/fsm_workloads/auth_privilege_consistency.js
+++ b/jstests/concurrency/fsm_workloads/auth_privilege_consistency.js
@@ -5,7 +5,8 @@
*
* Validate user cache invalidation upon subordinate role removal.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
load('jstests/concurrency/fsm_workload_helpers/drop_utils.js'); // for dropRoles
diff --git a/jstests/concurrency/fsm_workloads/create_timeseries_collection.js b/jstests/concurrency/fsm_workloads/create_timeseries_collection.js
index c2f05b39a70..e062a5dd5c0 100644
--- a/jstests/concurrency/fsm_workloads/create_timeseries_collection.js
+++ b/jstests/concurrency/fsm_workloads/create_timeseries_collection.js
@@ -8,7 +8,6 @@ load("jstests/core/timeseries/libs/timeseries.js");
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
- * requires_fcv_49,
* ]
*/
var $config = (function() {
diff --git a/jstests/concurrency/fsm_workloads/find_cmd_with_indexes_timeseries.js b/jstests/concurrency/fsm_workloads/find_cmd_with_indexes_timeseries.js
index 9e4f20aff2f..59b98f85987 100644
--- a/jstests/concurrency/fsm_workloads/find_cmd_with_indexes_timeseries.js
+++ b/jstests/concurrency/fsm_workloads/find_cmd_with_indexes_timeseries.js
@@ -11,7 +11,6 @@
* regardless, the indexes should return the same data as collection scans.
*
* @tags: [
- * requires_fcv_49,
* requires_timeseries,
* ]
*/
diff --git a/jstests/concurrency/fsm_workloads/find_flip_sbe_enabled.js b/jstests/concurrency/fsm_workloads/find_flip_sbe_enabled.js
index a427b829104..4afccfa7d54 100644
--- a/jstests/concurrency/fsm_workloads/find_flip_sbe_enabled.js
+++ b/jstests/concurrency/fsm_workloads/find_flip_sbe_enabled.js
@@ -4,7 +4,8 @@
* Sets the internalQueryEnableSlotBasedExecutionEngine flag to true and false, and
* asserts that find queries using the plan cache produce the correct results.
*
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
load("jstests/libs/sbe_util.js");
diff --git a/jstests/concurrency/fsm_workloads/insert_ttl_retry_writes_timeseries.js b/jstests/concurrency/fsm_workloads/insert_ttl_retry_writes_timeseries.js
index 725e334f79a..e916c366f45 100644
--- a/jstests/concurrency/fsm_workloads/insert_ttl_retry_writes_timeseries.js
+++ b/jstests/concurrency/fsm_workloads/insert_ttl_retry_writes_timeseries.js
@@ -8,9 +8,8 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
- * requires_fcv_49,
- * requires_timeseries,
* requires_replication,
+ * requires_timeseries,
* uses_ttl,
* ]
*/
diff --git a/jstests/concurrency/fsm_workloads/insert_ttl_timeseries.js b/jstests/concurrency/fsm_workloads/insert_ttl_timeseries.js
index 483bc6e537f..41250ee7f7b 100644
--- a/jstests/concurrency/fsm_workloads/insert_ttl_timeseries.js
+++ b/jstests/concurrency/fsm_workloads/insert_ttl_timeseries.js
@@ -8,7 +8,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
- * requires_fcv_49,
* requires_timeseries,
* uses_ttl,
* ]
diff --git a/jstests/concurrency/fsm_workloads/profile_command.js b/jstests/concurrency/fsm_workloads/profile_command.js
index e76e6b70e50..dd85296aa8d 100644
--- a/jstests/concurrency/fsm_workloads/profile_command.js
+++ b/jstests/concurrency/fsm_workloads/profile_command.js
@@ -8,7 +8,9 @@
* 1. The profile command never returns an inconsistent combination of {level, filter}.
* 2. We never log or profile based on an inconsistent combination of {level, filter}.
*
- * @tags: [requires_profiling, requires_fcv_47]
+ * @tags: [
+ * requires_profiling,
+ * ]
*/
var $config = (function() {
diff --git a/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js b/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js
index 002d31cebdd..531dc2aa1a7 100644
--- a/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js
+++ b/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js
@@ -5,7 +5,6 @@
* and verifies guarantees are not broken.
*
* @tags: [
- * requires_fcv_50,
* requires_sharding,
* assumes_balancer_off,
* does_not_support_causal_consistency,
diff --git a/jstests/concurrency/fsm_workloads/random_DDL_operations.js b/jstests/concurrency/fsm_workloads/random_DDL_operations.js
index 6603f4e84b8..b77a0192b7a 100644
--- a/jstests/concurrency/fsm_workloads/random_DDL_operations.js
+++ b/jstests/concurrency/fsm_workloads/random_DDL_operations.js
@@ -4,7 +4,6 @@
* Concurrently performs DDL commands and verifies guarantees are not broken.
*
* @tags: [
- * requires_fcv_50,
* requires_sharding,
* # TODO (SERVER-56879): Support add/remove shards in new DDL paths
* does_not_support_add_remove_shards,
diff --git a/jstests/concurrency/fsm_workloads/rename_sharded_collection.js b/jstests/concurrency/fsm_workloads/rename_sharded_collection.js
index ddfbe31bfa2..2b75b52879d 100644
--- a/jstests/concurrency/fsm_workloads/rename_sharded_collection.js
+++ b/jstests/concurrency/fsm_workloads/rename_sharded_collection.js
@@ -11,7 +11,6 @@
* concurrency
*
* @tags: [
- * requires_fcv_50,
* requires_sharding,
* # TODO (SERVER-56879): Support add/remove shards in new DDL paths
* does_not_support_add_remove_shards,
diff --git a/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_crud_operations.js b/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_crud_operations.js
index 33cbf740000..78cc71e87a7 100644
--- a/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_crud_operations.js
+++ b/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_crud_operations.js
@@ -9,8 +9,11 @@
* updates increment the value of x. We test that the snapshot read only returns documents where _id
* is between 0-99, and the value of x is always 1.
*
- * @tags: [requires_fcv_47, requires_replication, does_not_support_causal_consistency,
- * requires_majority_read_concern]
+ * @tags: [
+ * does_not_support_causal_consistency,
+ * requires_majority_read_concern,
+ * requires_replication,
+ * ]
*/
load('jstests/concurrency/fsm_workload_helpers/snapshot_read_utils.js');
diff --git a/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_ddl_operations.js b/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_ddl_operations.js
index c6bf1e808bd..9f3ae16a19e 100644
--- a/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_ddl_operations.js
+++ b/jstests/concurrency/fsm_workloads/snapshot_read_at_cluster_time_ddl_operations.js
@@ -4,8 +4,12 @@
* Perform point-in-time snapshot reads that span a 'find' and multiple 'getmore's concurrently with
* CRUD operations.
*
- * @tags: [creates_background_indexes, requires_fcv_47, requires_replication,
- * does_not_support_causal_consistency, requires_majority_read_concern]
+ * @tags: [
+ * creates_background_indexes,
+ * does_not_support_causal_consistency,
+ * requires_majority_read_concern,
+ * requires_replication,
+ * ]
*/
load('jstests/concurrency/fsm_workload_helpers/snapshot_read_utils.js');
diff --git a/jstests/core/api_params_getmore.js b/jstests/core/api_params_getmore.js
index 97aa3b094d1..1b229631f20 100644
--- a/jstests/core/api_params_getmore.js
+++ b/jstests/core/api_params_getmore.js
@@ -1,6 +1,9 @@
/**
* Tests passing API parameters into 'getMore' commands.
- * @tags: [requires_getmore, requires_fcv_50, uses_api_parameters]
+ * @tags: [
+ * requires_getmore,
+ * uses_api_parameters,
+ * ]
*/
(function() {
diff --git a/jstests/core/api_version_find_and_modify.js b/jstests/core/api_version_find_and_modify.js
index 8c4785438a1..78e9a53a898 100644
--- a/jstests/core/api_version_find_and_modify.js
+++ b/jstests/core/api_version_find_and_modify.js
@@ -2,9 +2,8 @@
* Tests the findAndModify command under different scenarios with API versioning enabled.
*
* @tags: [
- * uses_api_parameters,
- * requires_fcv_49,
- * assumes_unsharded_collection,
+ * assumes_unsharded_collection,
+ * uses_api_parameters,
* ]
*/
(function() {
diff --git a/jstests/core/api_version_new_50_language_features.js b/jstests/core/api_version_new_50_language_features.js
index 0a11109d43d..7fbe59e77de 100644
--- a/jstests/core/api_version_new_50_language_features.js
+++ b/jstests/core/api_version_new_50_language_features.js
@@ -4,7 +4,6 @@
* the behavior and syntax is stable.
*
* @tags: [
- * requires_fcv_50,
* uses_api_parameters,
* ]
*/
diff --git a/jstests/core/api_version_parameters.js b/jstests/core/api_version_parameters.js
index ab38eefa9cc..61ca9b5987a 100644
--- a/jstests/core/api_version_parameters.js
+++ b/jstests/core/api_version_parameters.js
@@ -2,8 +2,7 @@
* Checks that the server properly parses "API Version" parameters
*
* @tags: [
- * requires_fcv_50,
- * uses_api_parameters,
+ * uses_api_parameters,
* ]
*/
diff --git a/jstests/core/api_version_pipeline_stages.js b/jstests/core/api_version_pipeline_stages.js
index 22acd47071f..91511a4b99f 100644
--- a/jstests/core/api_version_pipeline_stages.js
+++ b/jstests/core/api_version_pipeline_stages.js
@@ -3,11 +3,10 @@
*
* Tests which create views aren't expected to work when collections are implicitly sharded.
* @tags: [
- * requires_fcv_49,
- * uses_api_parameters,
- * assumes_unsharded_collection,
+ * assumes_read_concern_unchanged,
* assumes_read_preference_unchanged,
- * assumes_read_concern_unchanged
+ * assumes_unsharded_collection,
+ * uses_api_parameters,
* ]
*/
diff --git a/jstests/core/api_version_test_expression.js b/jstests/core/api_version_test_expression.js
index bdaed75e6b7..7e3ac0ab565 100644
--- a/jstests/core/api_version_test_expression.js
+++ b/jstests/core/api_version_test_expression.js
@@ -6,7 +6,6 @@
* @tags: [
* assumes_against_mongod_not_mongos,
* assumes_unsharded_collection,
- * requires_fcv_50,
* uses_api_parameters,
* ]
*/
diff --git a/jstests/core/api_version_unstable_fields.js b/jstests/core/api_version_unstable_fields.js
index e340aa2e42e..31741ad9e0d 100644
--- a/jstests/core/api_version_unstable_fields.js
+++ b/jstests/core/api_version_unstable_fields.js
@@ -2,7 +2,6 @@
* Checks that APIStrictError is thrown if unstable fields are used with 'apiStrict: true'.
*
* @tags: [
- * requires_fcv_50,
* uses_api_parameters,
* # 'explain' does not support stepdowns.
* does_not_support_stepdowns,
diff --git a/jstests/core/api_version_unstable_indexes.js b/jstests/core/api_version_unstable_indexes.js
index 8c23b56acab..1d5b69fff9c 100644
--- a/jstests/core/api_version_unstable_indexes.js
+++ b/jstests/core/api_version_unstable_indexes.js
@@ -4,8 +4,7 @@
* version 1. Note "geoHaystack" index has been deprecated after 4.9.
*
* @tags: [
- * requires_fcv_50,
- * uses_api_parameters
+ * uses_api_parameters,
* ]
*/
diff --git a/jstests/core/apitest_db_profile_level.js b/jstests/core/apitest_db_profile_level.js
index 733c4df8741..cc01b2914ce 100644
--- a/jstests/core/apitest_db_profile_level.js
+++ b/jstests/core/apitest_db_profile_level.js
@@ -1,6 +1,9 @@
/**
* Tests for setting of profile levels
- * @tags: [does_not_support_stepdowns, requires_profiling, requires_fcv_47]
+ * @tags: [
+ * does_not_support_stepdowns,
+ * requires_profiling,
+ * ]
*/
(function() {
diff --git a/jstests/core/apply_ops1.js b/jstests/core/apply_ops1.js
index 92242bd971a..9ecaef4c763 100644
--- a/jstests/core/apply_ops1.js
+++ b/jstests/core/apply_ops1.js
@@ -8,7 +8,6 @@
* # applyOps uses the oplog that require replication support
* requires_replication,
* # Uses $v: 2 update oplog entries, only available in 4.7+.
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/core/array_index_and_nonIndex_consistent.js b/jstests/core/array_index_and_nonIndex_consistent.js
index 5ee0bcc08a7..5c8977f0d5b 100644
--- a/jstests/core/array_index_and_nonIndex_consistent.js
+++ b/jstests/core/array_index_and_nonIndex_consistent.js
@@ -2,7 +2,6 @@
* Make sure that $gt and $lt queries return the same results regardless of whether there is a
* multikey index.
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/core/awaitdata_getmore_cmd.js b/jstests/core/awaitdata_getmore_cmd.js
index 3449a51b3c2..b482e8a3085 100644
--- a/jstests/core/awaitdata_getmore_cmd.js
+++ b/jstests/core/awaitdata_getmore_cmd.js
@@ -10,7 +10,6 @@
// uses_multiple_connections,
// uses_parallel_shell,
// assumes_read_concern_unchanged,
-// requires_fcv_50
// ]
(function() {
diff --git a/jstests/core/batch_write_command_insert.js b/jstests/core/batch_write_command_insert.js
index b0b7ba5fb25..1bd35b49a21 100644
--- a/jstests/core/batch_write_command_insert.js
+++ b/jstests/core/batch_write_command_insert.js
@@ -8,7 +8,6 @@
//
// # Uses index building in background
// requires_background_index,
-// requires_fcv_50,
// ]
//
//
diff --git a/jstests/core/bypass_doc_validation.js b/jstests/core/bypass_doc_validation.js
index f023ab98152..9222611a423 100644
--- a/jstests/core/bypass_doc_validation.js
+++ b/jstests/core/bypass_doc_validation.js
@@ -2,7 +2,6 @@
// does_not_support_stepdowns,
// does_not_support_transactions,
// requires_fastcount,
-// requires_fcv_47,
// requires_non_retryable_commands,
// uses_map_reduce_with_temp_collections,
// ]
diff --git a/jstests/core/capped_large_docs.js b/jstests/core/capped_large_docs.js
index b35fca16293..f32a3e33389 100644
--- a/jstests/core/capped_large_docs.js
+++ b/jstests/core/capped_large_docs.js
@@ -5,7 +5,6 @@
* requires_capped,
* requires_collstats,
* requires_fastcount,
- * requires_fcv_49,
* # Capped collections cannot be sharded
* assumes_unsharded_collection,
* ]
diff --git a/jstests/core/collMod_index_invalid_option.js b/jstests/core/collMod_index_invalid_option.js
index 5ddecd21e51..ca8d5e71d0c 100644
--- a/jstests/core/collMod_index_invalid_option.js
+++ b/jstests/core/collMod_index_invalid_option.js
@@ -2,8 +2,7 @@
* Tests that collMod fails when an unrecognized field is included in its 'index' option.
*
* @tags: [
- * requires_non_retryable_commands,
- * requires_fcv_49
+ * requires_non_retryable_commands,
* ]
*/
(function() {
diff --git a/jstests/core/collation.js b/jstests/core/collation.js
index 17634d817a8..45ac9da9e71 100644
--- a/jstests/core/collation.js
+++ b/jstests/core/collation.js
@@ -6,9 +6,6 @@
// requires_capped,
// requires_non_retryable_commands,
// requires_non_retryable_writes,
-// # This test makes assertions about the types of plans produced by the query engine, which has
-// # changed from the classic engine starting in version 5.0.
-// requires_fcv_50,
// ]
// Integration tests for the collation feature.
diff --git a/jstests/core/command_let_variables.js b/jstests/core/command_let_variables.js
index 8cd1ce83fdc..1e4286dbc19 100644
--- a/jstests/core/command_let_variables.js
+++ b/jstests/core/command_let_variables.js
@@ -1,7 +1,6 @@
// Tests that commands like find, aggregate and update accepts a 'let' parameter which defines
// variables for use in expressions within the command.
// @tags: [
-// requires_fcv_48,
// ]
//
(function() {
diff --git a/jstests/core/commands_with_uuid.js b/jstests/core/commands_with_uuid.js
index e39582b0001..0d0657a6433 100644
--- a/jstests/core/commands_with_uuid.js
+++ b/jstests/core/commands_with_uuid.js
@@ -3,9 +3,8 @@
* collection.
*
* @tags: [
- * requires_fastcount,
- * requires_fcv_49,
- * incompatible_with_embedded,
+ * incompatible_with_embedded,
+ * requires_fastcount,
* ]
*/
diff --git a/jstests/core/compound_index_max_fields.js b/jstests/core/compound_index_max_fields.js
index b479eb79e0f..bfc589b83be 100644
--- a/jstests/core/compound_index_max_fields.js
+++ b/jstests/core/compound_index_max_fields.js
@@ -1,9 +1,8 @@
/**
* Tests operations on indexes with the maximum number of compound index fields, 32.
*
- * @tags: [
+ * @tags: [
* assumes_unsharded_collection,
- * requires_fcv_49,
* requires_non_retryable_writes,
* ]
*/
diff --git a/jstests/core/cover_null_queries.js b/jstests/core/cover_null_queries.js
index cfa04925b27..c26a055acd4 100644
--- a/jstests/core/cover_null_queries.js
+++ b/jstests/core/cover_null_queries.js
@@ -1,6 +1,9 @@
/**
* Test to verify that null queries can be fully covered by an index.
- * @tags: [assumes_unsharded_collection, requires_fcv_49, requires_non_retryable_writes]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * requires_non_retryable_writes,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/covered_index_sort_no_fetch_optimization.js b/jstests/core/covered_index_sort_no_fetch_optimization.js
index 45f33767ac5..416549acb87 100644
--- a/jstests/core/covered_index_sort_no_fetch_optimization.js
+++ b/jstests/core/covered_index_sort_no_fetch_optimization.js
@@ -7,8 +7,6 @@
* must be fetched to support the SHARDING_FILTER stage.
* @tags: [
* assumes_unsharded_collection,
- * # Sort optimizations added for hashed indexes in 4.7 can generate a different plan.
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/core/create_indexes.js b/jstests/core/create_indexes.js
index fbf93ed3c66..6c613a6a2eb 100644
--- a/jstests/core/create_indexes.js
+++ b/jstests/core/create_indexes.js
@@ -1,6 +1,5 @@
/**
* @tags: [
- * requires_fcv_49,
* assumes_superuser_permissions,
* ]
* fcv49 for the change to error code in createIndexes invalid field reply.
diff --git a/jstests/core/currentop_shell.js b/jstests/core/currentop_shell.js
index 6eba95ddc73..a1d570eaa0b 100644
--- a/jstests/core/currentop_shell.js
+++ b/jstests/core/currentop_shell.js
@@ -12,7 +12,6 @@
* assumes_read_preference_unchanged,
* # The aggregation stage $currentOp cannot run with a readConcern other than 'local'
* assumes_read_concern_unchanged,
- * requires_fcv_50
* ]
*/
diff --git a/jstests/core/dbstats.js b/jstests/core/dbstats.js
index dff5e370702..57250cd0007 100644
--- a/jstests/core/dbstats.js
+++ b/jstests/core/dbstats.js
@@ -2,7 +2,6 @@
//
// @tags: [
// requires_dbstats,
-// requires_fcv_47,
// ]
(function() {
diff --git a/jstests/core/disallow_system_views_user_writes.js b/jstests/core/disallow_system_views_user_writes.js
index 821d6ef5166..66c3cd8abbe 100644
--- a/jstests/core/disallow_system_views_user_writes.js
+++ b/jstests/core/disallow_system_views_user_writes.js
@@ -3,7 +3,6 @@
*
* @tags: [
* requires_non_retryable_writes,
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/core/doc_validation.js b/jstests/core/doc_validation.js
index fc12eeff149..88cdb0937ec 100644
--- a/jstests/core/doc_validation.js
+++ b/jstests/core/doc_validation.js
@@ -2,10 +2,10 @@
// expected.
// @tags: [
// assumes_no_implicit_collection_creation_after_drop,
+// requires_fastcount,
// requires_non_retryable_commands,
// requires_non_retryable_writes,
// requires_fastcount,
-// requires_fcv_47,
// disabled_due_to_server_58295
// ]
diff --git a/jstests/core/doc_validation_encrypt_keywords.js b/jstests/core/doc_validation_encrypt_keywords.js
index d4235765231..4bedb44cd2b 100644
--- a/jstests/core/doc_validation_encrypt_keywords.js
+++ b/jstests/core/doc_validation_encrypt_keywords.js
@@ -3,8 +3,10 @@
//
// Cannot implicitly shard accessed collections because of collection existing when none
// expected.
-// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands,
-// requires_fcv_47]
+// @tags: [
+// assumes_no_implicit_collection_creation_after_drop,
+// requires_non_retryable_commands,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/doc_validation_error.js b/jstests/core/doc_validation_error.js
index 846a581cd27..687f1440beb 100644
--- a/jstests/core/doc_validation_error.js
+++ b/jstests/core/doc_validation_error.js
@@ -2,7 +2,6 @@
* Tests document validation errors with sample validators. Note that it uses some JSON Schemas from
* schemastore.org.
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
@@ -527,4 +526,4 @@ const testCases = [
}
];
testCases.forEach(executeDocumentValidationTestCase);
-}()); \ No newline at end of file
+}());
diff --git a/jstests/core/doc_validation_options.js b/jstests/core/doc_validation_options.js
index d3893c48cc4..53cf6a46fd0 100644
--- a/jstests/core/doc_validation_options.js
+++ b/jstests/core/doc_validation_options.js
@@ -3,7 +3,6 @@
// # expected.
// assumes_no_implicit_collection_creation_after_drop,
// requires_non_retryable_commands,
-// requires_fcv_47,
// ]
(function() {
diff --git a/jstests/core/explain_find.js b/jstests/core/explain_find.js
index 88fecde810f..541c16f32a4 100644
--- a/jstests/core/explain_find.js
+++ b/jstests/core/explain_find.js
@@ -1,7 +1,6 @@
/**
* Tests for explaining find through the explain command.
* @tags: [
- * requires_fcv_49
* ]
*/
diff --git a/jstests/core/explain_find_and_modify.js b/jstests/core/explain_find_and_modify.js
index 5e385ff3743..6a6d13221e1 100644
--- a/jstests/core/explain_find_and_modify.js
+++ b/jstests/core/explain_find_and_modify.js
@@ -1,6 +1,8 @@
// Cannot implicitly shard accessed collections because of collection existing when none
// expected.
-// @tags: [assumes_no_implicit_collection_creation_after_drop,requires_fcv_47]
+// @tags: [
+// assumes_no_implicit_collection_creation_after_drop,
+// ]
/**
* Test correctness of explaining findAndModify. Asserts the following:
diff --git a/jstests/core/explain_includes_command.js b/jstests/core/explain_includes_command.js
index c6ea9c68513..cd00f32da83 100644
--- a/jstests/core/explain_includes_command.js
+++ b/jstests/core/explain_includes_command.js
@@ -1,7 +1,8 @@
-/*
+/**
* Confirms that the explain command includes the command object that was run.
*
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/explain_multi_plan_count.js b/jstests/core/explain_multi_plan_count.js
index d9986f4da8c..2ac52019cf3 100644
--- a/jstests/core/explain_multi_plan_count.js
+++ b/jstests/core/explain_multi_plan_count.js
@@ -4,9 +4,8 @@
// This test is not prepared to handle explain output for sharded collections or when executed
// against a mongos.
// @tags: [
-// requires_fcv_49,
-// assumes_unsharded_collection,
// assumes_against_mongod_not_mongos,
+// assumes_unsharded_collection,
// ]
(function() {
diff --git a/jstests/core/explain_server_params.js b/jstests/core/explain_server_params.js
index 733ed346336..c4c3cd6b673 100644
--- a/jstests/core/explain_server_params.js
+++ b/jstests/core/explain_server_params.js
@@ -1,7 +1,6 @@
// Tests server parameter information shown by explain.
// @tags: [
-// requires_fcv_49,
-// does_not_support_stepdowns
+// does_not_support_stepdowns,
// ]
(function() {
diff --git a/jstests/core/explain_shell_helpers.js b/jstests/core/explain_shell_helpers.js
index 63cfe838834..a401780d428 100644
--- a/jstests/core/explain_shell_helpers.js
+++ b/jstests/core/explain_shell_helpers.js
@@ -6,7 +6,6 @@
* assumes_unsharded_collection,
* does_not_support_stepdowns,
* requires_fastcount,
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/core/explain_validation.js b/jstests/core/explain_validation.js
index 84e25b95753..c1036f38ba9 100644
--- a/jstests/core/explain_validation.js
+++ b/jstests/core/explain_validation.js
@@ -3,7 +3,6 @@
* arguments will be permitted to pass validation.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/core/expr.js b/jstests/core/expr.js
index 6033c5af3ed..6ddc437ed89 100644
--- a/jstests/core/expr.js
+++ b/jstests/core/expr.js
@@ -1,8 +1,5 @@
// @tags: [
// does_not_support_stepdowns,
-// # Explain reports errors from $expr differently in 4.4 and older, so this test assumes that all
-// # nodes are at least binary version 4.7.
-// requires_fcv_47,
// requires_getmore,
// requires_non_retryable_writes,
// ]
diff --git a/jstests/core/expr_index_use.js b/jstests/core/expr_index_use.js
index 0bd1025514d..d466dffabc2 100644
--- a/jstests/core/expr_index_use.js
+++ b/jstests/core/expr_index_use.js
@@ -1,6 +1,5 @@
// Confirms expected index use when performing a match with a $expr statement.
// @tags: [
-// requires_fcv_49
// ]
(function() {
diff --git a/jstests/core/field_name_validation.js b/jstests/core/field_name_validation.js
index 41355f44255..7dd249f98b2 100644
--- a/jstests/core/field_name_validation.js
+++ b/jstests/core/field_name_validation.js
@@ -9,7 +9,6 @@
*
* @tags: [
* assumes_unsharded_collection,
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/core/find_and_modify_invalid_query_params.js b/jstests/core/find_and_modify_invalid_query_params.js
index ad8ae4439b5..84a986fe7e2 100644
--- a/jstests/core/find_and_modify_invalid_query_params.js
+++ b/jstests/core/find_and_modify_invalid_query_params.js
@@ -2,7 +2,9 @@
* Test that the 'findAndModify' command throws the expected errors for invalid query, sort and
* projection parameters. This test exercises the fix for SERVER-41829.
*
- * @tags: [assumes_unsharded_collection, requires_fcv_49]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/find_and_modify_metrics.js b/jstests/core/find_and_modify_metrics.js
index ed2167586f1..a2a8bfbc9d1 100644
--- a/jstests/core/find_and_modify_metrics.js
+++ b/jstests/core/find_and_modify_metrics.js
@@ -3,7 +3,6 @@
* counters of the findAndModify command.
*
* @tags: [
- * requires_fcv_47,
* # The test relies on the precise number of executions of commands.
* requires_non_retryable_writes,
* # The test is designed to work with an unsharded collection.
diff --git a/jstests/core/fts_explain.js b/jstests/core/fts_explain.js
index c5a56039b1e..8b0db0794c8 100644
--- a/jstests/core/fts_explain.js
+++ b/jstests/core/fts_explain.js
@@ -2,7 +2,6 @@
// collection.
// @tags: [
// assumes_no_implicit_index_creation,
-// requires_fcv_49,
// ]
// Test $text explain. SERVER-12037.
diff --git a/jstests/core/fts_find_and_modify.js b/jstests/core/fts_find_and_modify.js
index 607b6273d35..9267ad8e6df 100644
--- a/jstests/core/fts_find_and_modify.js
+++ b/jstests/core/fts_find_and_modify.js
@@ -5,9 +5,6 @@
* # Cannot run when collections are implicitly sharded, since findAndModify requires the query
* # predicate to contain the shard key.
* assumes_unsharded_collection,
- * # We chose not to backport the bug fix for $text + findAndModify to the 4.4 branch, so all
- * # nodes must be at least binary version 4.7.
- * requires_fcv_47,
* # Ban in any configurations that require retryable writes. Although findAndModify is a
* # retryable write command, the 'fields' option does not currently work with retryable writes.
* # See SERVER-31242.
diff --git a/jstests/core/fts_index.js b/jstests/core/fts_index.js
index 9b78425fa61..c78301509f1 100644
--- a/jstests/core/fts_index.js
+++ b/jstests/core/fts_index.js
@@ -14,7 +14,6 @@
* operations_longer_than_stepdown_interval_in_txns,
* # Uses index building in background
* requires_background_index,
- * requires_fcv_49,
* ]
*/
diff --git a/jstests/core/fts_querylang.js b/jstests/core/fts_querylang.js
index e745be8f788..f52d3170769 100644
--- a/jstests/core/fts_querylang.js
+++ b/jstests/core/fts_querylang.js
@@ -2,7 +2,6 @@
// @tags: [
// requires_multi_updates,
// requires_non_retryable_writes,
-// requires_fcv_50,
// ]
(function() {
"use strict";
diff --git a/jstests/core/geo_oob_sphere.js b/jstests/core/geo_oob_sphere.js
index 2fe4d230e3c..ba04ea72e04 100644
--- a/jstests/core/geo_oob_sphere.js
+++ b/jstests/core/geo_oob_sphere.js
@@ -1,7 +1,6 @@
/**
* Ensures spherical queries report invalid latitude values in points and center positions.
* @tags: [
- * requires_fcv_49
* ]
*/
(function() {
diff --git a/jstests/core/geo_s2near.js b/jstests/core/geo_s2near.js
index 0933ab17b08..2cd732da67a 100644
--- a/jstests/core/geo_s2near.js
+++ b/jstests/core/geo_s2near.js
@@ -1,6 +1,5 @@
// @tags: [
// requires_getmore,
-// requires_fcv_49,
// ]
// Test 2dsphere near search, called via find and $geoNear.
diff --git a/jstests/core/geo_validate.js b/jstests/core/geo_validate.js
index b74a5e38d33..3a945b6eae8 100644
--- a/jstests/core/geo_validate.js
+++ b/jstests/core/geo_validate.js
@@ -3,7 +3,8 @@
*
* +Inf is explicitly disallowed as a valid value for $min/maxDistance on 5.0, but not on
* previous versions.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
let coll = db.geo_validate;
diff --git a/jstests/core/hashed_index_sort.js b/jstests/core/hashed_index_sort.js
index 2b9c72e8aff..189e40a1569 100644
--- a/jstests/core/hashed_index_sort.js
+++ b/jstests/core/hashed_index_sort.js
@@ -4,9 +4,6 @@
* prefix.
* @tags: [
* assumes_unsharded_collection,
- * # Sort optimizations added in 4.7 can generate a different plan in the presence of equality
- * # predicates.
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/core/hashed_partial_and_sparse_index.js b/jstests/core/hashed_partial_and_sparse_index.js
index f9bb2bc8f16..6a052fe4bb9 100644
--- a/jstests/core/hashed_partial_and_sparse_index.js
+++ b/jstests/core/hashed_partial_and_sparse_index.js
@@ -3,7 +3,6 @@
* index and sparse index. The test verifies compound hashed index with hashed prefix and non-hashed
* prefix.
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/core/idhack.js b/jstests/core/idhack.js
index ee689b3519f..bdfe4d4da08 100644
--- a/jstests/core/idhack.js
+++ b/jstests/core/idhack.js
@@ -1,8 +1,5 @@
// @tags: [
// assumes_balancer_off,
-// # This test makes assertions about the types of plans produced by the query engine, which has
-// # changed from the classic engine starting in version 5.0.
-// requires_fcv_50,
// requires_multi_updates,
// requires_non_retryable_writes,
// ]
diff --git a/jstests/core/index_filter_commands.js b/jstests/core/index_filter_commands.js
index 4edb5e016dc..25ff7fc39ac 100644
--- a/jstests/core/index_filter_commands.js
+++ b/jstests/core/index_filter_commands.js
@@ -30,9 +30,6 @@
* assumes_read_preference_unchanged,
* assumes_unsharded_collection,
* does_not_support_stepdowns,
- * # This test makes assertions about the types of plans produced by the query engine, which has
- * # changed from the classic engine starting in version 5.0.
- * requires_fcv_50,
* ]
*/
diff --git a/jstests/core/index_partial_create_drop.js b/jstests/core/index_partial_create_drop.js
index 24a3d29fac4..6ddb65b4c35 100644
--- a/jstests/core/index_partial_create_drop.js
+++ b/jstests/core/index_partial_create_drop.js
@@ -6,7 +6,6 @@
// # Builds index in the background
// requires_background_index,
//
-// requires_fcv_47,
// ]
// Test partial index creation and drops.
diff --git a/jstests/core/index_partial_read_ops.js b/jstests/core/index_partial_read_ops.js
index c13e8832340..43e64bec5f8 100644
--- a/jstests/core/index_partial_read_ops.js
+++ b/jstests/core/index_partial_read_ops.js
@@ -3,7 +3,6 @@
// @tags: [
// assumes_unsharded_collection,
// does_not_support_stepdowns,
-// requires_fcv_47,
// ]
// Read ops tests for partial indexes.
diff --git a/jstests/core/index_signature.js b/jstests/core/index_signature.js
index 12b9c1d76dd..9ba7459ba44 100644
--- a/jstests/core/index_signature.js
+++ b/jstests/core/index_signature.js
@@ -3,7 +3,9 @@
* which uniquely identify an index. Multiple indexes can be created on the same key pattern if
* their signature parameters differ.
*
- * @tags: [requires_fcv_50, requires_non_retryable_writes]
+ * @tags: [
+ * requires_non_retryable_writes,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/indexj.js b/jstests/core/indexj.js
index ff479e900ed..ca4c5c9c2c1 100644
--- a/jstests/core/indexj.js
+++ b/jstests/core/indexj.js
@@ -3,9 +3,6 @@
// change depending on whether/how many documents are filtered out by the SHARDING_FILTER stage.
// @tags: [
// assumes_unsharded_collection,
-// # This test makes assertions about the types of plans produced by the query engine, which has
-// # changed from the classic engine starting in version 5.0.
-// requires_fcv_50,
// ]
(function() {
diff --git a/jstests/core/insert2.js b/jstests/core/insert2.js
index e554998c7e5..ff6783e4fff 100644
--- a/jstests/core/insert2.js
+++ b/jstests/core/insert2.js
@@ -4,7 +4,6 @@
// assumes_no_implicit_collection_creation_after_drop,
// requires_collstats,
// uses_multiple_connections,
-// requires_fcv_50,
// ]
// Create a new connection object so it won't affect the global connection when we modify
diff --git a/jstests/core/kill_cursors.js b/jstests/core/kill_cursors.js
index 8c240a71def..1022e606dd1 100644
--- a/jstests/core/kill_cursors.js
+++ b/jstests/core/kill_cursors.js
@@ -1,7 +1,6 @@
// @tags: [
// does_not_support_stepdowns,
// uses_testing_only_commands,
-// requires_fcv_47,
// ]
//
// Does not support stepdowns because if a stepdown were to occur between running find() and
diff --git a/jstests/core/list_collections1.js b/jstests/core/list_collections1.js
index b00e2a0650c..3757d061276 100644
--- a/jstests/core/list_collections1.js
+++ b/jstests/core/list_collections1.js
@@ -9,7 +9,6 @@
* assumes_against_mongod_not_mongos,
* requires_getmore,
* requires_replication,
- * requires_fcv_49,
* uses_api_parameters,
* ]
*
diff --git a/jstests/core/mr_killop.js b/jstests/core/mr_killop.js
index daea8e8aa37..9287490657a 100644
--- a/jstests/core/mr_killop.js
+++ b/jstests/core/mr_killop.js
@@ -8,7 +8,6 @@
// uses_parallel_shell,
// assumes_read_preference_unchanged,
// assumes_read_concern_unchanged,
-// requires_fcv_50
// ]
(function() {
"use strict";
diff --git a/jstests/core/null_query_semantics.js b/jstests/core/null_query_semantics.js
index 2cdd7bc218d..900f9edf2b0 100644
--- a/jstests/core/null_query_semantics.js
+++ b/jstests/core/null_query_semantics.js
@@ -1,10 +1,5 @@
// Tests the behavior of queries with a {$eq: null} or {$ne: null} predicate.
//
-// @tags: [
-// # This file includes tests for SERVER-21929, which is fixed in 5.0 but not earlier versions.
-// # Therefore, for this test to run all nodes must be at least 5.0.
-// requires_fcv_50,
-// ]
(function() {
"use strict";
diff --git a/jstests/core/or_to_in.js b/jstests/core/or_to_in.js
index 5a01672f0e3..9a61e615636 100644
--- a/jstests/core/or_to_in.js
+++ b/jstests/core/or_to_in.js
@@ -4,7 +4,6 @@
// This test is not prepared to handle explain output for sharded collections.
// @tags: [
// assumes_unsharded_collection,
-// requires_fcv_49
// ]
(function() {
diff --git a/jstests/core/plan_cache_sbe.js b/jstests/core/plan_cache_sbe.js
index 04284591a1c..6069dae2e25 100644
--- a/jstests/core/plan_cache_sbe.js
+++ b/jstests/core/plan_cache_sbe.js
@@ -12,9 +12,6 @@
* assumes_read_concern_unchanged,
* assumes_read_preference_unchanged,
* assumes_unsharded_collection,
- * # This test makes assertions about the types of plans produced by the query engine, which has
- * # changed from the classic engine starting in version 5.0.
- * requires_fcv_50,
* ]
*/
(function() {
diff --git a/jstests/core/positional_projection.js b/jstests/core/positional_projection.js
index e41be1cacef..9b0b013d51a 100644
--- a/jstests/core/positional_projection.js
+++ b/jstests/core/positional_projection.js
@@ -1,7 +1,6 @@
// Tests for $ projection operator.
// @tags: [
// requires_getmore,
-// requires_fcv_49
// ]
(function() {
"use strict";
diff --git a/jstests/core/profile_findandmodify.js b/jstests/core/profile_findandmodify.js
index a4373a708c9..134a972fec8 100644
--- a/jstests/core/profile_findandmodify.js
+++ b/jstests/core/profile_findandmodify.js
@@ -1,7 +1,6 @@
// Confirms that profiled findAndModify execution contains all expected metrics with proper values.
// @tags: [
// requires_profiling,
-// requires_fcv_47,
// ]
(function() {
diff --git a/jstests/core/profile_list_indexes.js b/jstests/core/profile_list_indexes.js
index 092206ecbb4..76f46ce52a6 100644
--- a/jstests/core/profile_list_indexes.js
+++ b/jstests/core/profile_list_indexes.js
@@ -2,9 +2,7 @@
// does_not_support_stepdowns,
// requires_getmore,
// requires_profiling,
-// requires_fcv_49,
// ]
-// Requires fcv 4.9 for the changes to SimpleCursor
// Confirms that a listIndexes command and subsequent getMores of its cursor are profiled correctly.
diff --git a/jstests/core/profile_update.js b/jstests/core/profile_update.js
index 3de1b688040..b67f9b68ec7 100644
--- a/jstests/core/profile_update.js
+++ b/jstests/core/profile_update.js
@@ -2,7 +2,6 @@
// does_not_support_stepdowns,
// requires_non_retryable_writes,
// requires_profiling,
-// requires_fcv_47,
// ]
// Confirms that profiled update execution contains all expected metrics with proper values.
diff --git a/jstests/core/projection_dotted_paths.js b/jstests/core/projection_dotted_paths.js
index 7a0aa06425c..50f4fdd2504 100644
--- a/jstests/core/projection_dotted_paths.js
+++ b/jstests/core/projection_dotted_paths.js
@@ -2,9 +2,6 @@
// shard key since the document needs to be fetched in order to apply the SHARDING_FILTER stage.
// @tags: [
// assumes_unsharded_collection,
-// # This test makes assertions about the types of plans produced by the query engine, which has
-// # changed from the classic engine starting in version 5.0.
-// requires_fcv_50,
// ]
/**
diff --git a/jstests/core/push_sort.js b/jstests/core/push_sort.js
index e6832eb3110..5b599e04ec8 100644
--- a/jstests/core/push_sort.js
+++ b/jstests/core/push_sort.js
@@ -1,4 +1,6 @@
-// @tags: [requires_non_retryable_writes, requires_fcv_50]
+// @tags: [
+// requires_non_retryable_writes,
+// ]
//
// $push acquired the possibility of sorting the resulting array as part of SERVER-8008. This
diff --git a/jstests/core/regex_error.js b/jstests/core/regex_error.js
index 35761881924..b602b8b8c52 100644
--- a/jstests/core/regex_error.js
+++ b/jstests/core/regex_error.js
@@ -1,6 +1,7 @@
/**
* Test that the server errors when given an invalid regex.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
const coll = db.regex_error;
diff --git a/jstests/core/regex_options.js b/jstests/core/regex_options.js
index 90e697c190b..f78ea1afbc7 100644
--- a/jstests/core/regex_options.js
+++ b/jstests/core/regex_options.js
@@ -1,6 +1,7 @@
/**
* Test regex options in a find context.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/core/rename_collection.js b/jstests/core/rename_collection.js
index 6f32699a733..c47fdec0153 100644
--- a/jstests/core/rename_collection.js
+++ b/jstests/core/rename_collection.js
@@ -2,9 +2,8 @@
* Basic test around rename collection
*
* @tags: [
- * requires_fcv_50,
+ * assumes_no_implicit_collection_creation_after_drop,
* requires_non_retryable_commands,
- * assumes_no_implicit_collection_creation_after_drop
* ]
*/
diff --git a/jstests/core/rename_collection_long_name.js b/jstests/core/rename_collection_long_name.js
index d95c432b81d..becf929a189 100644
--- a/jstests/core/rename_collection_long_name.js
+++ b/jstests/core/rename_collection_long_name.js
@@ -4,7 +4,6 @@
// and rename the collection to one with a much longer name. We use the test database
// by default and we add this here to ensure we are using it
// @tags: [
-// requires_fcv_50,
// assumes_no_implicit_collection_creation_after_drop,
// requires_non_retryable_commands,
// ]
diff --git a/jstests/core/rename_collection_system_db.js b/jstests/core/rename_collection_system_db.js
index 130e5e97b74..8d46ad27a04 100644
--- a/jstests/core/rename_collection_system_db.js
+++ b/jstests/core/rename_collection_system_db.js
@@ -1,5 +1,4 @@
// @tags: [
-// requires_fcv_50,
// assumes_superuser_permissions,
// requires_non_retryable_commands,
// ]
diff --git a/jstests/core/rename_collection_to_itself.js b/jstests/core/rename_collection_to_itself.js
index 99e800e137a..020d7885fe6 100644
--- a/jstests/core/rename_collection_to_itself.js
+++ b/jstests/core/rename_collection_to_itself.js
@@ -2,7 +2,6 @@
* Test that renaming a collection to itself is not allowed
*
* @tags: [
- * requires_fcv_50,
* requires_non_retryable_commands,
* ]
*/
diff --git a/jstests/core/roles_info.js b/jstests/core/roles_info.js
index 5667322d593..b6330c5ad49 100644
--- a/jstests/core/roles_info.js
+++ b/jstests/core/roles_info.js
@@ -1,5 +1,8 @@
// Test invocations of {rolesInfo: ...} command
-// @tags: [requires_multi_updates, requires_non_retryable_commands,requires_fcv_47]
+// @tags: [
+// requires_multi_updates,
+// requires_non_retryable_commands,
+// ]
(function() {
'use strict';
diff --git a/jstests/core/sample_rate.js b/jstests/core/sample_rate.js
index 93c1e2f9d7d..8860fd50aa0 100644
--- a/jstests/core/sample_rate.js
+++ b/jstests/core/sample_rate.js
@@ -1,7 +1,6 @@
/**
* Test the $sampleRate match expression.
* @tags: [
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/core/single_field_hashed_index.js b/jstests/core/single_field_hashed_index.js
index 74b07acfdce..a05400c4d58 100644
--- a/jstests/core/single_field_hashed_index.js
+++ b/jstests/core/single_field_hashed_index.js
@@ -5,7 +5,6 @@
* @tags: [
* assumes_no_implicit_index_creation,
* requires_fastcount,
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/core/sort_merge.js b/jstests/core/sort_merge.js
index 7078c13bd0e..4afba99df51 100644
--- a/jstests/core/sort_merge.js
+++ b/jstests/core/sort_merge.js
@@ -1,9 +1,6 @@
/**
* Tests $or queries which can be answered with a SORT_MERGE stage.
*
- * # The 4.4 query planner will produce default SORT plans for queries which the 4.7 query
- * planner will produce SORT_MERGE plans.
- * @tags: [requires_fcv_47]
*/
(function() {
"use strict";
diff --git a/jstests/core/text_covered_matching.js b/jstests/core/text_covered_matching.js
index 0fd75306fa9..e7fd1644f07 100644
--- a/jstests/core/text_covered_matching.js
+++ b/jstests/core/text_covered_matching.js
@@ -9,7 +9,6 @@
//
// @tags: [
// assumes_balancer_off,
-// requires_fcv_49,
// ]
load("jstests/libs/analyze_plan.js");
diff --git a/jstests/core/timeseries/bucket_granularity.js b/jstests/core/timeseries/bucket_granularity.js
index 9ab4461c814..1b0740f720a 100644
--- a/jstests/core/timeseries/bucket_granularity.js
+++ b/jstests/core/timeseries/bucket_granularity.js
@@ -9,7 +9,6 @@
* # writes splitting between two primaries, and thus different buckets.
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_timeseries,
* # Same goes for tenant migrations.
* tenant_migration_incompatible,
diff --git a/jstests/core/timeseries/bucket_timestamp_rounding.js b/jstests/core/timeseries/bucket_timestamp_rounding.js
index 3f79db4650a..2eec55cbc4d 100644
--- a/jstests/core/timeseries/bucket_timestamp_rounding.js
+++ b/jstests/core/timeseries/bucket_timestamp_rounding.js
@@ -9,7 +9,6 @@
* # writes splitting between two primaries, and thus different buckets.
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_timeseries,
* # Same goes for tenant migrations.
* tenant_migration_incompatible,
diff --git a/jstests/core/timeseries/clustered_index_options.js b/jstests/core/timeseries/clustered_index_options.js
index 02e7f7f9ff6..f741e780065 100644
--- a/jstests/core/timeseries/clustered_index_options.js
+++ b/jstests/core/timeseries/clustered_index_options.js
@@ -4,10 +4,9 @@
* collections using the output of listCollections, which includes the clusteredIndex option.
*
* @tags: [
- * assumes_against_mongod_not_mongos,
- * assumes_no_implicit_collection_creation_after_drop,
- * does_not_support_stepdowns,
- * requires_fcv_49,
+ * assumes_against_mongod_not_mongos,
+ * assumes_no_implicit_collection_creation_after_drop,
+ * does_not_support_stepdowns,
* ]
*/
(function() {
diff --git a/jstests/core/timeseries/clustered_index_types.js b/jstests/core/timeseries/clustered_index_types.js
index 7540d7fd14a..15d0b38507e 100644
--- a/jstests/core/timeseries/clustered_index_types.js
+++ b/jstests/core/timeseries/clustered_index_types.js
@@ -5,7 +5,6 @@
* assumes_against_mongod_not_mongos,
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
- * requires_fcv_49,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_bucket_drop.js b/jstests/core/timeseries/timeseries_bucket_drop.js
index f77058731c1..db0324f19b3 100644
--- a/jstests/core/timeseries/timeseries_bucket_drop.js
+++ b/jstests/core/timeseries/timeseries_bucket_drop.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_bucket_index.js b/jstests/core/timeseries/timeseries_bucket_index.js
index 9a0188ec852..aeefa6b1be2 100644
--- a/jstests/core/timeseries/timeseries_bucket_index.js
+++ b/jstests/core/timeseries/timeseries_bucket_index.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_bucket_limit_count.js b/jstests/core/timeseries/timeseries_bucket_limit_count.js
index dd20aa7a58f..5f6869cc838 100644
--- a/jstests/core/timeseries/timeseries_bucket_limit_count.js
+++ b/jstests/core/timeseries/timeseries_bucket_limit_count.js
@@ -4,7 +4,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_bucket_limit_size.js b/jstests/core/timeseries/timeseries_bucket_limit_size.js
index cb973b81e13..bb29d1141a8 100644
--- a/jstests/core/timeseries/timeseries_bucket_limit_size.js
+++ b/jstests/core/timeseries/timeseries_bucket_limit_size.js
@@ -4,7 +4,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_bucket_limit_time_range.js b/jstests/core/timeseries/timeseries_bucket_limit_time_range.js
index 95aa784c861..a46c8f52bf6 100644
--- a/jstests/core/timeseries/timeseries_bucket_limit_time_range.js
+++ b/jstests/core/timeseries/timeseries_bucket_limit_time_range.js
@@ -4,7 +4,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_bucket_manual_removal.js b/jstests/core/timeseries/timeseries_bucket_manual_removal.js
index a41d87f0b6d..51f4450a6e6 100644
--- a/jstests/core/timeseries/timeseries_bucket_manual_removal.js
+++ b/jstests/core/timeseries/timeseries_bucket_manual_removal.js
@@ -6,7 +6,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_collation.js b/jstests/core/timeseries/timeseries_collation.js
index 5faa7dd6f23..0c523011742 100644
--- a/jstests/core/timeseries/timeseries_collation.js
+++ b/jstests/core/timeseries/timeseries_collation.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_create_collection.js b/jstests/core/timeseries/timeseries_create_collection.js
index f5a2cd6891c..907a06d6be2 100644
--- a/jstests/core/timeseries/timeseries_create_collection.js
+++ b/jstests/core/timeseries/timeseries_create_collection.js
@@ -6,7 +6,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_delete.js b/jstests/core/timeseries/timeseries_delete.js
index 26eb4445fa4..0677f29f723 100644
--- a/jstests/core/timeseries/timeseries_delete.js
+++ b/jstests/core/timeseries/timeseries_delete.js
@@ -4,7 +4,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_50,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_expire.js b/jstests/core/timeseries/timeseries_expire.js
index cb9a46585e2..8291faf71f6 100644
--- a/jstests/core/timeseries/timeseries_expire.js
+++ b/jstests/core/timeseries/timeseries_expire.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_expire_collmod.js b/jstests/core/timeseries/timeseries_expire_collmod.js
index 6f585959eb8..e06cc09d732 100644
--- a/jstests/core/timeseries/timeseries_expire_collmod.js
+++ b/jstests/core/timeseries/timeseries_expire_collmod.js
@@ -3,10 +3,9 @@
* the underlying bucket collection.
*
* @tags: [
- * assumes_no_implicit_collection_creation_after_drop,
- * does_not_support_stepdowns,
- * does_not_support_transactions,
- * requires_fcv_49,
+ * assumes_no_implicit_collection_creation_after_drop,
+ * does_not_support_stepdowns,
+ * does_not_support_transactions,
* ]
*/
(function() {
diff --git a/jstests/core/timeseries/timeseries_explicit_unpack_bucket.js b/jstests/core/timeseries/timeseries_explicit_unpack_bucket.js
index be5c79bd603..a222b032a39 100644
--- a/jstests/core/timeseries/timeseries_explicit_unpack_bucket.js
+++ b/jstests/core/timeseries/timeseries_explicit_unpack_bucket.js
@@ -4,10 +4,9 @@
* MongoDB products rather than user applications.
*
* @tags: [
- * assumes_unsharded_collection,
- * does_not_support_transactions,
- * requires_fcv_49,
- * requires_timeseries,
+ * assumes_unsharded_collection,
+ * does_not_support_transactions,
+ * requires_timeseries,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_graph_lookup.js b/jstests/core/timeseries/timeseries_graph_lookup.js
index be700a073bb..11ab50ffc40 100644
--- a/jstests/core/timeseries/timeseries_graph_lookup.js
+++ b/jstests/core/timeseries/timeseries_graph_lookup.js
@@ -3,10 +3,9 @@
*
*
* @tags: [
- * assumes_unsharded_collection,
- * does_not_support_transactions,
- * requires_timeseries,
- * requires_fcv_49,
+ * assumes_unsharded_collection,
+ * does_not_support_transactions,
+ * requires_timeseries,
* ]
*/
(function() {
diff --git a/jstests/core/timeseries/timeseries_id_index.js b/jstests/core/timeseries/timeseries_id_index.js
index 3ae165e9523..a0f9d7901fb 100644
--- a/jstests/core/timeseries/timeseries_id_index.js
+++ b/jstests/core/timeseries/timeseries_id_index.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_id_range.js b/jstests/core/timeseries/timeseries_id_range.js
index 39d58dc11e4..452a9a6089a 100644
--- a/jstests/core/timeseries/timeseries_id_range.js
+++ b/jstests/core/timeseries/timeseries_id_range.js
@@ -5,7 +5,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_idle_buckets.js b/jstests/core/timeseries/timeseries_idle_buckets.js
index 9cae73c7576..b0d183b493a 100644
--- a/jstests/core/timeseries/timeseries_idle_buckets.js
+++ b/jstests/core/timeseries/timeseries_idle_buckets.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_index.js b/jstests/core/timeseries/timeseries_index.js
index 81bdc0d0976..2eb8d4437eb 100644
--- a/jstests/core/timeseries/timeseries_index.js
+++ b/jstests/core/timeseries/timeseries_index.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_index_collation.js b/jstests/core/timeseries/timeseries_index_collation.js
index 8941c940b4b..35033c58be6 100644
--- a/jstests/core/timeseries/timeseries_index_collation.js
+++ b/jstests/core/timeseries/timeseries_index_collation.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_index_skipped_record_tracker.js b/jstests/core/timeseries/timeseries_index_skipped_record_tracker.js
index 5631461675b..bf7d001a2a7 100644
--- a/jstests/core/timeseries/timeseries_index_skipped_record_tracker.js
+++ b/jstests/core/timeseries/timeseries_index_skipped_record_tracker.js
@@ -6,7 +6,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_index_stats.js b/jstests/core/timeseries/timeseries_index_stats.js
index 5d5b77f0c5e..e8d19fbe053 100644
--- a/jstests/core/timeseries/timeseries_index_stats.js
+++ b/jstests/core/timeseries/timeseries_index_stats.js
@@ -13,7 +13,6 @@
* assumes_unsharded_collection,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* requires_non_retryable_writes,
* ]
diff --git a/jstests/core/timeseries/timeseries_index_use.js b/jstests/core/timeseries/timeseries_index_use.js
index 166ed4048fd..dd8bdce2818 100644
--- a/jstests/core/timeseries/timeseries_index_use.js
+++ b/jstests/core/timeseries/timeseries_index_use.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_list_collections.js b/jstests/core/timeseries/timeseries_list_collections.js
index 9cceab78521..d6770e1c8cb 100644
--- a/jstests/core/timeseries/timeseries_list_collections.js
+++ b/jstests/core/timeseries/timeseries_list_collections.js
@@ -4,7 +4,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_list_collections_filter_name.js b/jstests/core/timeseries/timeseries_list_collections_filter_name.js
index a2f25125db9..3414f3b5294 100644
--- a/jstests/core/timeseries/timeseries_list_collections_filter_name.js
+++ b/jstests/core/timeseries/timeseries_list_collections_filter_name.js
@@ -5,7 +5,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_list_collections_invalid_view.js b/jstests/core/timeseries/timeseries_list_collections_invalid_view.js
index 881b9527afa..1ad58d5caf4 100644
--- a/jstests/core/timeseries/timeseries_list_collections_invalid_view.js
+++ b/jstests/core/timeseries/timeseries_list_collections_invalid_view.js
@@ -6,7 +6,6 @@
* assumes_against_mongod_not_mongos,
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_list_collections_missing_buckets_collection.js b/jstests/core/timeseries/timeseries_list_collections_missing_buckets_collection.js
index 64e25143a7c..584a36a33f2 100644
--- a/jstests/core/timeseries/timeseries_list_collections_missing_buckets_collection.js
+++ b/jstests/core/timeseries/timeseries_list_collections_missing_buckets_collection.js
@@ -5,7 +5,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_list_collections_missing_view.js b/jstests/core/timeseries/timeseries_list_collections_missing_view.js
index 7c3b98a0286..12fd1ef2297 100644
--- a/jstests/core/timeseries/timeseries_list_collections_missing_view.js
+++ b/jstests/core/timeseries/timeseries_list_collections_missing_view.js
@@ -5,7 +5,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_lookup.js b/jstests/core/timeseries/timeseries_lookup.js
index 5800249d8d7..c718bc7adf1 100644
--- a/jstests/core/timeseries/timeseries_lookup.js
+++ b/jstests/core/timeseries/timeseries_lookup.js
@@ -2,10 +2,9 @@
* Test that time-series bucket collections work as expected with $lookup.
*
* @tags: [
- * assumes_unsharded_collection,
- * does_not_support_transactions,
- * requires_fcv_49,
- * requires_timeseries,
+ * assumes_unsharded_collection,
+ * does_not_support_transactions,
+ * requires_timeseries,
* ]
*/
(function() {
diff --git a/jstests/core/timeseries/timeseries_merge.js b/jstests/core/timeseries/timeseries_merge.js
index 388fba21563..2d9aa6cf81f 100644
--- a/jstests/core/timeseries/timeseries_merge.js
+++ b/jstests/core/timeseries/timeseries_merge.js
@@ -3,10 +3,9 @@
*
*
* @tags: [
- * assumes_unsharded_collection,
- * does_not_support_transactions,
- * requires_timeseries,
- * requires_fcv_49,
+ * assumes_unsharded_collection,
+ * does_not_support_transactions,
+ * requires_timeseries,
* ]
*/
(function() {
diff --git a/jstests/core/timeseries/timeseries_metadata.js b/jstests/core/timeseries/timeseries_metadata.js
index de69015dadb..65cf70a505c 100644
--- a/jstests/core/timeseries/timeseries_metadata.js
+++ b/jstests/core/timeseries/timeseries_metadata.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/core/timeseries/timeseries_min_max.js b/jstests/core/timeseries/timeseries_min_max.js
index 9e42bbd0fbc..293fbe6d571 100644
--- a/jstests/core/timeseries/timeseries_min_max.js
+++ b/jstests/core/timeseries/timeseries_min_max.js
@@ -6,7 +6,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_out.js b/jstests/core/timeseries/timeseries_out.js
index a00e2b8c3df..ac8cfc28636 100644
--- a/jstests/core/timeseries/timeseries_out.js
+++ b/jstests/core/timeseries/timeseries_out.js
@@ -3,11 +3,10 @@
*
*
* @tags: [
- * assumes_unsharded_collection,
- * does_not_support_transactions,
- * requires_timeseries,
- * requires_fcv_49,
- * requires_non_retryable_commands,
+ * assumes_unsharded_collection,
+ * does_not_support_transactions,
+ * requires_non_retryable_commands,
+ * requires_timeseries,
* ]
*/
(function() {
diff --git a/jstests/core/timeseries/timeseries_out_of_order.js b/jstests/core/timeseries/timeseries_out_of_order.js
index 21a624e9a9b..ec0a1d05a76 100644
--- a/jstests/core/timeseries/timeseries_out_of_order.js
+++ b/jstests/core/timeseries/timeseries_out_of_order.js
@@ -6,7 +6,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_resume_after.js b/jstests/core/timeseries/timeseries_resume_after.js
index 039a62c379d..3aa87d05779 100644
--- a/jstests/core/timeseries/timeseries_resume_after.js
+++ b/jstests/core/timeseries/timeseries_resume_after.js
@@ -7,7 +7,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_show_record_id.js b/jstests/core/timeseries/timeseries_show_record_id.js
index 4ed664af83d..641c70840fb 100644
--- a/jstests/core/timeseries/timeseries_show_record_id.js
+++ b/jstests/core/timeseries/timeseries_show_record_id.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_simple.js b/jstests/core/timeseries/timeseries_simple.js
index 0f56c9fe054..6ca14e72ee7 100644
--- a/jstests/core/timeseries/timeseries_simple.js
+++ b/jstests/core/timeseries/timeseries_simple.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_sparse.js b/jstests/core/timeseries/timeseries_sparse.js
index 8d14db0cae7..a5ddb4a1fc8 100644
--- a/jstests/core/timeseries/timeseries_sparse.js
+++ b/jstests/core/timeseries/timeseries_sparse.js
@@ -5,7 +5,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_special_indexes.js b/jstests/core/timeseries/timeseries_special_indexes.js
index 6deda20ac5c..9ff5d458b4a 100644
--- a/jstests/core/timeseries/timeseries_special_indexes.js
+++ b/jstests/core/timeseries/timeseries_special_indexes.js
@@ -7,7 +7,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_text_geonear_disallowed.js b/jstests/core/timeseries/timeseries_text_geonear_disallowed.js
index c6bf52d5aad..4400c59f8e3 100644
--- a/jstests/core/timeseries/timeseries_text_geonear_disallowed.js
+++ b/jstests/core/timeseries/timeseries_text_geonear_disallowed.js
@@ -3,11 +3,10 @@
* and such queries fail cleanly.
*
* @tags: [
- * assumes_unsharded_collection,
- * does_not_support_transactions,
- * does_not_support_stepdowns,
- * requires_fcv_50,
- * requires_timeseries,
+ * assumes_unsharded_collection,
+ * does_not_support_stepdowns,
+ * does_not_support_transactions,
+ * requires_timeseries,
* ]
*/
diff --git a/jstests/core/timeseries/timeseries_union_with.js b/jstests/core/timeseries/timeseries_union_with.js
index 2402646600d..39811a27dfb 100644
--- a/jstests/core/timeseries/timeseries_union_with.js
+++ b/jstests/core/timeseries/timeseries_union_with.js
@@ -2,10 +2,9 @@
* Test that time-series bucket collections work as expected with $unionWith.
*
* @tags: [
- * assumes_unsharded_collection,
- * does_not_support_transactions,
- * requires_fcv_49,
- * requires_timeseries,
+ * assumes_unsharded_collection,
+ * does_not_support_transactions,
+ * requires_timeseries,
* ]
*/
(function() {
diff --git a/jstests/core/timeseries/timeseries_update.js b/jstests/core/timeseries/timeseries_update.js
index 578b0928b74..6e6ab6f3585 100644
--- a/jstests/core/timeseries/timeseries_update.js
+++ b/jstests/core/timeseries/timeseries_update.js
@@ -4,7 +4,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_50,
* requires_getmore,
* ]
*/
diff --git a/jstests/core/txns/api_params_transaction.js b/jstests/core/txns/api_params_transaction.js
index 990ed4bad70..a41bd85f3fb 100644
--- a/jstests/core/txns/api_params_transaction.js
+++ b/jstests/core/txns/api_params_transaction.js
@@ -1,6 +1,9 @@
/**
* Tests passing API parameters into transaction-continuing commands.
- * @tags: [uses_transactions, requires_fcv_50, uses_api_parameters]
+ * @tags: [
+ * uses_api_parameters,
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/core/txns/timeseries_create_in_txn.js b/jstests/core/txns/timeseries_create_in_txn.js
index 550bfbca3e4..02ff728f9e7 100644
--- a/jstests/core/txns/timeseries_create_in_txn.js
+++ b/jstests/core/txns/timeseries_create_in_txn.js
@@ -1,8 +1,7 @@
/**
* Tests that it is illegal to create a time-series collection within a transaction.
* @tags: [
- * uses_transactions,
- * requires_fcv_49,
+ * uses_transactions,
* ]
*/
(function() {
diff --git a/jstests/core/txns/timeseries_insert_in_txn.js b/jstests/core/txns/timeseries_insert_in_txn.js
index b6690749b38..299a94dccc1 100644
--- a/jstests/core/txns/timeseries_insert_in_txn.js
+++ b/jstests/core/txns/timeseries_insert_in_txn.js
@@ -1,9 +1,8 @@
/**
* Tests that it is illegal to insert documents into a time-series collection within a transaction.
* @tags: [
- * assumes_no_implicit_collection_creation_after_drop,
- * uses_transactions,
- * requires_fcv_49,
+ * assumes_no_implicit_collection_creation_after_drop,
+ * uses_transactions,
* ]
*/
(function() {
diff --git a/jstests/core/txns/timeseries_reads_in_txns.js b/jstests/core/txns/timeseries_reads_in_txns.js
index d51b2532325..107d9907611 100644
--- a/jstests/core/txns/timeseries_reads_in_txns.js
+++ b/jstests/core/txns/timeseries_reads_in_txns.js
@@ -2,7 +2,6 @@
* Tests if queries against time-series collections in transactions work as expected.
* @tags: [
* assumes_against_mongod_not_mongos,
- * requires_fcv_49,
* uses_transactions,
* ]
*/
diff --git a/jstests/core/update_addToSet.js b/jstests/core/update_addToSet.js
index d98b3772d4e..fb46ebcd980 100644
--- a/jstests/core/update_addToSet.js
+++ b/jstests/core/update_addToSet.js
@@ -2,7 +2,9 @@
// update/delete on a sharded collection must contain an exact match on _id or contain the shard
// key.
//
-// @tags: [assumes_unsharded_collection, requires_fcv_50]
+// @tags: [
+// assumes_unsharded_collection,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/update_arrayFilters.js b/jstests/core/update_arrayFilters.js
index 903ce038a61..96eabcf272b 100644
--- a/jstests/core/update_arrayFilters.js
+++ b/jstests/core/update_arrayFilters.js
@@ -4,7 +4,6 @@
// assumes_no_implicit_collection_creation_after_drop,
// requires_multi_updates,
// requires_non_retryable_writes,
-// requires_fcv_50,
// ]
// Tests for the arrayFilters option to update and findAndModify.
diff --git a/jstests/core/update_bit_examples.js b/jstests/core/update_bit_examples.js
index 1f1c03596e3..fd94a1b417d 100644
--- a/jstests/core/update_bit_examples.js
+++ b/jstests/core/update_bit_examples.js
@@ -1,7 +1,10 @@
// Cannot implicitly shard accessed collections because of following errmsg: A single
// update/delete on a sharded collection must contain an exact match on _id or contain the shard
// key.
-// @tags: [assumes_unsharded_collection, requires_non_retryable_writes, requires_fcv_47]
+// @tags: [
+// assumes_unsharded_collection,
+// requires_non_retryable_writes,
+// ]
// Basic examples for $bit
var res;
diff --git a/jstests/core/update_dbref.js b/jstests/core/update_dbref.js
index 21042d44b83..f3e461c7379 100644
--- a/jstests/core/update_dbref.js
+++ b/jstests/core/update_dbref.js
@@ -1,7 +1,9 @@
// Cannot implicitly shard accessed collections because of following errmsg: A single
// update/delete on a sharded collection must contain an exact match on _id or contain the shard
// key.
-// @tags: [assumes_unsharded_collection, requires_fcv_50]
+// @tags: [
+// assumes_unsharded_collection,
+// ]
// Test that we can update DBRefs, but not dbref fields outside a DBRef
diff --git a/jstests/core/update_invalid1.js b/jstests/core/update_invalid1.js
index ea86c51d8b0..bbda4cee53e 100644
--- a/jstests/core/update_invalid1.js
+++ b/jstests/core/update_invalid1.js
@@ -1,4 +1,6 @@
-// @tags: [requires_fastcount, requires_fcv_50]
+// @tags: [
+// requires_fastcount,
+// ]
t = db.update_invalid1;
t.drop();
diff --git a/jstests/core/update_metrics.js b/jstests/core/update_metrics.js
index 0af3039822a..ab4155ce41c 100644
--- a/jstests/core/update_metrics.js
+++ b/jstests/core/update_metrics.js
@@ -5,7 +5,6 @@
* @tags: [
* # The test is designed to work with an unsharded collection.
* assumes_unsharded_collection,
- * requires_fcv_47,
* # The test relies on the precise number of executions of commands.
* requires_non_retryable_writes,
* ]
diff --git a/jstests/core/update_with_pipeline.js b/jstests/core/update_with_pipeline.js
index 26b871f8ba0..5e7179ae5b9 100644
--- a/jstests/core/update_with_pipeline.js
+++ b/jstests/core/update_with_pipeline.js
@@ -1,7 +1,6 @@
/**
* Tests execution of pipeline-style update.
* @tags: [
- * requires_fcv_50,
* requires_multi_updates,
* requires_non_retryable_writes,
* ]
diff --git a/jstests/core/updateh.js b/jstests/core/updateh.js
index 297d2cc8bbe..72d0d22c616 100644
--- a/jstests/core/updateh.js
+++ b/jstests/core/updateh.js
@@ -1,7 +1,9 @@
// Cannot implicitly shard accessed collections because of following errmsg: A single
// update/delete on a sharded collection must contain an exact match on _id or contain the shard
// key.
-// @tags: [assumes_unsharded_collection, requires_fcv_50]
+// @tags: [
+// assumes_unsharded_collection,
+// ]
var res;
diff --git a/jstests/core/validate_db_metadata_command.js b/jstests/core/validate_db_metadata_command.js
index 66e565f731e..5165241e684 100644
--- a/jstests/core/validate_db_metadata_command.js
+++ b/jstests/core/validate_db_metadata_command.js
@@ -1,7 +1,6 @@
/**
* Tests the validateDBMetaData commands with various input parameters.
* @tags: [
- * requires_fcv_49
* ]
*/
(function() {
diff --git a/jstests/core/verify_update_mods.js b/jstests/core/verify_update_mods.js
index aa8597136cd..0dc59281ade 100644
--- a/jstests/core/verify_update_mods.js
+++ b/jstests/core/verify_update_mods.js
@@ -4,7 +4,6 @@
* @tags: [
* # The test is designed to work with an unsharded collection.
* assumes_unsharded_collection,
- * requires_fcv_47,
* # Performs modifications that if repeated would fail the test.
* requires_non_retryable_writes,
* ]
diff --git a/jstests/core/version_api_list_commands_verification.js b/jstests/core/version_api_list_commands_verification.js
index f1a64953ee6..797bebc9498 100644
--- a/jstests/core/version_api_list_commands_verification.js
+++ b/jstests/core/version_api_list_commands_verification.js
@@ -1,7 +1,9 @@
/**
* Checks that listCommands returns the API Version information of a command.
*
- * @tags: [requires_fcv_47, requires_non_retryable_commands]
+ * @tags: [
+ * requires_non_retryable_commands,
+ * ]
*/
(function() {
diff --git a/jstests/core/version_api_v1_command_coverage.js b/jstests/core/version_api_v1_command_coverage.js
index aac1e008082..cafc8561fb7 100644
--- a/jstests/core/version_api_v1_command_coverage.js
+++ b/jstests/core/version_api_v1_command_coverage.js
@@ -2,7 +2,10 @@
* Checks that commands included/omitted in API V1 behave correctly with various combinations of API
* parameters.
*
- * @tags: [requires_fcv_47, requires_non_retryable_commands, uses_api_parameters]
+ * @tags: [
+ * requires_non_retryable_commands,
+ * uses_api_parameters,
+ * ]
*/
(function() {
diff --git a/jstests/core/views/views_validation.js b/jstests/core/views/views_validation.js
index cf3069365ec..99c7804550b 100644
--- a/jstests/core/views/views_validation.js
+++ b/jstests/core/views/views_validation.js
@@ -1,7 +1,6 @@
// @tags: [
// assumes_unsharded_collection,
// requires_non_retryable_commands,
-// requires_fcv_49
// ]
(function() {
diff --git a/jstests/core/wildcard_and_text_indexes.js b/jstests/core/wildcard_and_text_indexes.js
index 0835bd51b26..801ca6b8904 100644
--- a/jstests/core/wildcard_and_text_indexes.js
+++ b/jstests/core/wildcard_and_text_indexes.js
@@ -2,7 +2,6 @@
* Tests that a {$**: 1} index can coexist with a {$**: 'text'} index in the same collection.
* @tags: [
* assumes_balancer_off,
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/core/wildcard_index_cached_plans.js b/jstests/core/wildcard_index_cached_plans.js
index 50c59865377..6e98199dbe0 100644
--- a/jstests/core/wildcard_index_cached_plans.js
+++ b/jstests/core/wildcard_index_cached_plans.js
@@ -12,9 +12,6 @@
* # false when the test assumes they are true because the query has already been run many times.
* assumes_balancer_off,
* inspects_whether_plan_cache_entry_is_active,
- * # This test makes assertions about the types of plans produced by the query engine, which has
- * # changed from the classic engine starting in version 5.0.
- * requires_fcv_50,
* ]
*/
(function() {
diff --git a/jstests/core/wildcard_index_projection.js b/jstests/core/wildcard_index_projection.js
index 4ed3f7c837b..069ab342f40 100644
--- a/jstests/core/wildcard_index_projection.js
+++ b/jstests/core/wildcard_index_projection.js
@@ -2,7 +2,6 @@
* Tests that a wildcard index with an exclusion projection but including _id field gets saved
* properly. Exercises the fix for SERVER-52814.
* @tags: [
- * requires_fcv_49,
* ]
*/
diff --git a/jstests/multiVersion/genericSetFCVUsage/major_version_upgrade.js b/jstests/multiVersion/genericSetFCVUsage/major_version_upgrade.js
index 6f81b5aad86..cfbe2ae047c 100644
--- a/jstests/multiVersion/genericSetFCVUsage/major_version_upgrade.js
+++ b/jstests/multiVersion/genericSetFCVUsage/major_version_upgrade.js
@@ -39,6 +39,7 @@ const versions = [
{binVersion: '4.0', featureCompatibilityVersion: '4.0', testCollection: 'four_zero'},
{binVersion: '4.2', featureCompatibilityVersion: '4.2', testCollection: 'four_two'},
{binVersion: '4.4', featureCompatibilityVersion: '4.4', testCollection: 'four_four'},
+ {binVersion: '5.0', featureCompatibilityVersion: '5.0', testCollection: 'five_zero'},
{binVersion: 'last-lts', testCollection: 'last_lts'},
{binVersion: 'last-continuous', testCollection: 'last_continuous'},
{binVersion: 'latest', featureCompatibilityVersion: latestFCV, testCollection: 'latest'},
diff --git a/jstests/multiVersion/verify_versions_test.js b/jstests/multiVersion/verify_versions_test.js
index 9de974048c5..6ab094a6bef 100644
--- a/jstests/multiVersion/verify_versions_test.js
+++ b/jstests/multiVersion/verify_versions_test.js
@@ -44,8 +44,8 @@ function assertBinVersionComparesEqual(v1, v2) {
// Test the current latest version. This has to be changed very time we bump
// the major version pair, but it provides a useful test of assumptions.
-assertBinVersionsEqual("5.0", version());
-assertBinVersionComparesEqual("5.0", version());
+assertBinVersionsEqual("5.1", version());
+assertBinVersionComparesEqual("5.1", version());
// "latest" is the same version as the shell, "last-lts" is not.
assertBinVersionsEqual("latest", version());
diff --git a/jstests/noPassthrough/api_version_2_commands.js b/jstests/noPassthrough/api_version_2_commands.js
index 1c73b0bc80f..a25c5ee73e5 100644
--- a/jstests/noPassthrough/api_version_2_commands.js
+++ b/jstests/noPassthrough/api_version_2_commands.js
@@ -2,7 +2,6 @@
* Checks that API version 2 will behave correctly with mongod/mongos.
*
* @tags: [
- * requires_fcv_47,
* requires_journaling,
* ]
*/
diff --git a/jstests/noPassthrough/api_version_metrics.js b/jstests/noPassthrough/api_version_metrics.js
index acf6b67cd29..cb57f133058 100644
--- a/jstests/noPassthrough/api_version_metrics.js
+++ b/jstests/noPassthrough/api_version_metrics.js
@@ -1,7 +1,8 @@
/**
* Checks that the API version metrics are properly stored and returned.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/noPassthrough/api_version_parameters_shell.js b/jstests/noPassthrough/api_version_parameters_shell.js
index 9c21a25387a..894469159b6 100644
--- a/jstests/noPassthrough/api_version_parameters_shell.js
+++ b/jstests/noPassthrough/api_version_parameters_shell.js
@@ -2,7 +2,9 @@
* Test the shell's --apiVersion and other options related to the MongoDB Versioned API, and
* test passing API parameters to the Mongo() constructor.
*
- * @tags: [requires_journaling, requires_fcv_50]
+ * @tags: [
+ * requires_journaling,
+ * ]
*/
(function() {
diff --git a/jstests/noPassthrough/cursor_server_status_metrics_sharded.js b/jstests/noPassthrough/cursor_server_status_metrics_sharded.js
index 2f78fb261af..5c4950881f7 100644
--- a/jstests/noPassthrough/cursor_server_status_metrics_sharded.js
+++ b/jstests/noPassthrough/cursor_server_status_metrics_sharded.js
@@ -1,7 +1,9 @@
/**
* Test the cursor server status "moreThanOneBatch" and "totalOpened" metric on mongoS.
*
- * @tags: [requires_fcv_49, requires_sharding]
+ * @tags: [
+ * requires_sharding,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/noPassthrough/internal_validate_features_as_primary.js b/jstests/noPassthrough/internal_validate_features_as_primary.js
index f910414eef0..9f6e2429661 100644
--- a/jstests/noPassthrough/internal_validate_features_as_primary.js
+++ b/jstests/noPassthrough/internal_validate_features_as_primary.js
@@ -1,7 +1,8 @@
/**
* Tests that the internalValidateFeaturesAsPrimary server parameter
* and the deprecated alias internalValidateFeaturesAsMaster both work.
- * @tags: [requires_fcv_48]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js b/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js
index 729771c275c..d035efc61b1 100644
--- a/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js
+++ b/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js
@@ -3,8 +3,6 @@
* listCollection and listIndexes commands can run while a MODE_X collection lock is held.
*
* @tags: [
- * # Cannot run against older binaries because they do not have lock-free ops.
- * requires_fcv_49,
* ]
*/
diff --git a/jstests/noPassthrough/operator_counters_expressions.js b/jstests/noPassthrough/operator_counters_expressions.js
index 8e1fc4bc3d9..1a3fe111d93 100644
--- a/jstests/noPassthrough/operator_counters_expressions.js
+++ b/jstests/noPassthrough/operator_counters_expressions.js
@@ -1,7 +1,8 @@
/**
* Tests aggregate expression counters.
* Initially limited to $getField and $setField.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/noPassthrough/profile_operation_metrics.js b/jstests/noPassthrough/profile_operation_metrics.js
index bdd66f18ecf..c1ab05e1e20 100644
--- a/jstests/noPassthrough/profile_operation_metrics.js
+++ b/jstests/noPassthrough/profile_operation_metrics.js
@@ -3,7 +3,6 @@
*
* @tags: [
* requires_capped,
- * requires_fcv_47,
* requires_replication,
* requires_wiredtiger,
* ]
diff --git a/jstests/noPassthrough/server_status_metrics_dots_and_dollars_fields.js b/jstests/noPassthrough/server_status_metrics_dots_and_dollars_fields.js
index 805bbd794b1..dfc4ae8dd0d 100644
--- a/jstests/noPassthrough/server_status_metrics_dots_and_dollars_fields.js
+++ b/jstests/noPassthrough/server_status_metrics_dots_and_dollars_fields.js
@@ -1,6 +1,7 @@
/**
* Tests for serverStatus metrics.dotsAndDollarsFields stats.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/noPassthrough/timeseries_change_streams.js b/jstests/noPassthrough/timeseries_change_streams.js
index f928655ca88..9b4949f525a 100644
--- a/jstests/noPassthrough/timeseries_change_streams.js
+++ b/jstests/noPassthrough/timeseries_change_streams.js
@@ -1,6 +1,5 @@
// Tests that $changeStream aggregations against time-series collections fail cleanly.
// @tags: [
-// requires_fcv_50,
// requires_timeseries,
// requires_replication,
// ]
diff --git a/jstests/noPassthrough/timeseries_collStats.js b/jstests/noPassthrough/timeseries_collStats.js
index 00d3ea90c71..34dc2b3217c 100644
--- a/jstests/noPassthrough/timeseries_collStats.js
+++ b/jstests/noPassthrough/timeseries_collStats.js
@@ -4,7 +4,6 @@
*
* @tags: [
* does_not_support_stepdowns,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/noPassthrough/timeseries_create.js b/jstests/noPassthrough/timeseries_create.js
index 3a74bff2fb7..3b74503abc2 100644
--- a/jstests/noPassthrough/timeseries_create.js
+++ b/jstests/noPassthrough/timeseries_create.js
@@ -3,7 +3,6 @@
* configurations of options in conjunction with and within the timeseries option.
*
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/noPassthrough/timeseries_create_drop.js b/jstests/noPassthrough/timeseries_create_drop.js
index 6ec82eb26db..11e756dc717 100644
--- a/jstests/noPassthrough/timeseries_create_drop.js
+++ b/jstests/noPassthrough/timeseries_create_drop.js
@@ -6,7 +6,6 @@
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
* does_not_support_transactions,
- * requires_fcv_49,
* requires_replication,
* ]
*/
diff --git a/jstests/noPassthrough/timeseries_create_index_option_defaults.js b/jstests/noPassthrough/timeseries_create_index_option_defaults.js
index 02619425aee..6c5ae1f82a2 100644
--- a/jstests/noPassthrough/timeseries_create_index_option_defaults.js
+++ b/jstests/noPassthrough/timeseries_create_index_option_defaults.js
@@ -3,7 +3,6 @@
* a time-series collection.
*
* @tags: [
- * requires_fcv_49,
* requires_persistence,
* requires_wiredtiger,
* ]
diff --git a/jstests/noPassthrough/timeseries_downgrade_fcv.js b/jstests/noPassthrough/timeseries_downgrade_fcv.js
index f128320fe1b..95978e84d1b 100644
--- a/jstests/noPassthrough/timeseries_downgrade_fcv.js
+++ b/jstests/noPassthrough/timeseries_downgrade_fcv.js
@@ -5,7 +5,6 @@
* TODO (SERVER-56171): Remove this test once 5.0 is last-lts.
*
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/noPassthrough/timeseries_latency_stats.js b/jstests/noPassthrough/timeseries_latency_stats.js
index 23cb8428c11..422edb9525f 100644
--- a/jstests/noPassthrough/timeseries_latency_stats.js
+++ b/jstests/noPassthrough/timeseries_latency_stats.js
@@ -4,7 +4,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/noPassthrough/timeseries_startup.js b/jstests/noPassthrough/timeseries_startup.js
index 91124e1701a..5cf6e78d888 100644
--- a/jstests/noPassthrough/timeseries_startup.js
+++ b/jstests/noPassthrough/timeseries_startup.js
@@ -1,7 +1,9 @@
/**
* Tests that the server can startup with time-series collections present.
*
- * @tags: [requires_fcv_49, requires_persistence]
+ * @tags: [
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/noPassthrough/timeseries_ttl.js b/jstests/noPassthrough/timeseries_ttl.js
index 00fdfbe738e..eccd5dbfe86 100644
--- a/jstests/noPassthrough/timeseries_ttl.js
+++ b/jstests/noPassthrough/timeseries_ttl.js
@@ -5,7 +5,6 @@
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
* does_not_support_stepdowns,
- * requires_fcv_49,
* requires_getmore,
* ]
*/
diff --git a/jstests/noPassthrough/update_post_image_validation.js b/jstests/noPassthrough/update_post_image_validation.js
index 340277b6bf4..ba2e6ecf6ab 100644
--- a/jstests/noPassthrough/update_post_image_validation.js
+++ b/jstests/noPassthrough/update_post_image_validation.js
@@ -1,5 +1,6 @@
// Verify that the update system correctly rejects invalid entries during post-image validation.
-// @tags: [requires_fcv_50]
+// @tags: [
+// ]
(function() {
"use strict";
diff --git a/jstests/noPassthroughWithMongod/command_let_variables_merge_only.js b/jstests/noPassthroughWithMongod/command_let_variables_merge_only.js
index ab913e01888..e16f686f57c 100644
--- a/jstests/noPassthroughWithMongod/command_let_variables_merge_only.js
+++ b/jstests/noPassthroughWithMongod/command_let_variables_merge_only.js
@@ -1,7 +1,6 @@
// Tests that the aggregate command can use command-level let variables with $merge. Note $merge
// tests must be run in a noPassthrough suite so the other operators are exercised in
// jstests/core/command_let_variables.js.
-// @tags: [requires_fcv46]
(function() {
"use strict";
diff --git a/jstests/replsets/advance_cluster_time.js b/jstests/replsets/advance_cluster_time.js
index b16305e0e40..86f1637acd7 100644
--- a/jstests/replsets/advance_cluster_time.js
+++ b/jstests/replsets/advance_cluster_time.js
@@ -2,7 +2,8 @@
* Test that the client cannot gossip clusterTime from one replica set to another if it doesn't
* have the advanceClusterTime privilege.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/auto_reconfig_remove_newly_added_and_stepup.js b/jstests/replsets/auto_reconfig_remove_newly_added_and_stepup.js
index 2d8dce79a33..72b7e06ecb0 100644
--- a/jstests/replsets/auto_reconfig_remove_newly_added_and_stepup.js
+++ b/jstests/replsets/auto_reconfig_remove_newly_added_and_stepup.js
@@ -4,7 +4,6 @@
* and are expected to retry until success.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/buildindexes_false_commit_quorum.js b/jstests/replsets/buildindexes_false_commit_quorum.js
index 2caa757d4d3..aa73bdbba37 100644
--- a/jstests/replsets/buildindexes_false_commit_quorum.js
+++ b/jstests/replsets/buildindexes_false_commit_quorum.js
@@ -3,7 +3,6 @@
* quorum options.
*
* @tags: [
- * requires_fcv_49,
* ]
*/
diff --git a/jstests/replsets/check_replication_hello_response_fields.js b/jstests/replsets/check_replication_hello_response_fields.js
index 05e3d933b82..05ef9c24b25 100644
--- a/jstests/replsets/check_replication_hello_response_fields.js
+++ b/jstests/replsets/check_replication_hello_response_fields.js
@@ -2,7 +2,8 @@
* Checks all the easily testable fields in the response object returned by the hello() command and
* its aliases, isMaster() and ismaster(). This test also checks that fields that should not be in
* the document are absent.
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
// Skip db hash check because node 2 is slave delayed and may time out on awaitReplication.
diff --git a/jstests/replsets/cluster_chaining_override.js b/jstests/replsets/cluster_chaining_override.js
index 509aed83ecf..84e93109d16 100644
--- a/jstests/replsets/cluster_chaining_override.js
+++ b/jstests/replsets/cluster_chaining_override.js
@@ -39,4 +39,4 @@ var options = {writeConcern: {w: 3, wtimeout: ReplSetTest.kDefaultTimeoutMS}};
assert.commandWorked(primary.getDB("admin").foo.insert({x: 1}, options));
rst.stopSet();
-}()); \ No newline at end of file
+}());
diff --git a/jstests/replsets/cmd_hello_wire_version_compatibility.js b/jstests/replsets/cmd_hello_wire_version_compatibility.js
index c03f5b8a659..1740d981760 100644
--- a/jstests/replsets/cmd_hello_wire_version_compatibility.js
+++ b/jstests/replsets/cmd_hello_wire_version_compatibility.js
@@ -1,7 +1,6 @@
// This test is to ensure that we do not increase the minWireversion or decrease the max
// wire version in API Version 1.
// @tags: [
-// requires_fcv_49,
// ]
// See wire_version.h
diff --git a/jstests/replsets/currentOp_during_automatic_reconfig.js b/jstests/replsets/currentOp_during_automatic_reconfig.js
index 5202af9ba72..ecb152f52ef 100644
--- a/jstests/replsets/currentOp_during_automatic_reconfig.js
+++ b/jstests/replsets/currentOp_during_automatic_reconfig.js
@@ -2,7 +2,6 @@
* Tests that currentOp displays information about in-progress automatic reconfigs.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/dbhash_lock_acquisition.js b/jstests/replsets/dbhash_lock_acquisition.js
index d5124229cf2..c05a5c1d698 100644
--- a/jstests/replsets/dbhash_lock_acquisition.js
+++ b/jstests/replsets/dbhash_lock_acquisition.js
@@ -2,7 +2,9 @@
* Tests that the dbHash command acquires IS mode locks on the global, database, and collection
* resources when reading a timestamp using the $_internalReadAtClusterTime option.
*
- * @tags: [uses_transactions, requires_fcv_47]
+ * @tags: [
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/dbhash_read_at_cluster_time.js b/jstests/replsets/dbhash_read_at_cluster_time.js
index a26fe18ae60..7d8265725ef 100644
--- a/jstests/replsets/dbhash_read_at_cluster_time.js
+++ b/jstests/replsets/dbhash_read_at_cluster_time.js
@@ -2,7 +2,10 @@
* Tests that "$_internalReadAtClusterTime" and "snapshot" level
* read concern are supported by the "dbHash" command.
*
- * @tags: [uses_transactions, requires_fcv_47, requires_majority_read_concern]
+ * @tags: [
+ * requires_majority_read_concern,
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/directoryperdb_remove_empty_dirs.js b/jstests/replsets/directoryperdb_remove_empty_dirs.js
index 0b444c713ae..d087796c38e 100644
--- a/jstests/replsets/directoryperdb_remove_empty_dirs.js
+++ b/jstests/replsets/directoryperdb_remove_empty_dirs.js
@@ -3,7 +3,6 @@
* replicated collection with two-phase drops.
*
* @tags: [
- * requires_fcv_48,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/disallow_adding_initialized_node1.js b/jstests/replsets/disallow_adding_initialized_node1.js
index d9f669f9a89..5dcf4ab3391 100644
--- a/jstests/replsets/disallow_adding_initialized_node1.js
+++ b/jstests/replsets/disallow_adding_initialized_node1.js
@@ -3,7 +3,8 @@
* replica set. We have two replica sets, A and B, where A has two nodes, A_0 and A_1, and B has one
* node, B_0. Adding B_0 to replica set A should fail on detecting an inconsistent replica set ID in
* the heartbeat response metadata from B_0.
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js b/jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js
index f4f628e81cb..1c5eca56227 100644
--- a/jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js
+++ b/jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js
@@ -1,7 +1,8 @@
/**
* Verify that force reconfigs overwrite the 'newlyAdded' field correctly in a replica set.
*
- * @tags: [ requires_fcv_47 ]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/get_default_write_concern_majority.js b/jstests/replsets/get_default_write_concern_majority.js
index 0e946f7a8e7..619b4d9ccb8 100644
--- a/jstests/replsets/get_default_write_concern_majority.js
+++ b/jstests/replsets/get_default_write_concern_majority.js
@@ -1,7 +1,8 @@
/**
* This tests the behavior of changing the default write concern to the implicit default if there is
* no CWWC.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/heartbeat_reconfig_propagates_default_write_concern.js b/jstests/replsets/heartbeat_reconfig_propagates_default_write_concern.js
index 4f713c100ca..309fb7c1344 100644
--- a/jstests/replsets/heartbeat_reconfig_propagates_default_write_concern.js
+++ b/jstests/replsets/heartbeat_reconfig_propagates_default_write_concern.js
@@ -1,11 +1,12 @@
-/*
+/**
* Test that a heartbeat reconfig propagated from the primary to a new secondary
* successfully sets the default write concern on the secondary. To do this, we start either a PSS
* or PSA replica set. We then add a fourth secondary to the replica set, and verify that it sets
* its implicit default write concern correctly. We don't test cases with cluster-wide write concern
* set, because then the secondary won't set its implicit default write concern from a heartbeat
* reconfig.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/initial_sync1.js b/jstests/replsets/initial_sync1.js
index 27154eb37fc..0b2e3ce00b2 100644
--- a/jstests/replsets/initial_sync1.js
+++ b/jstests/replsets/initial_sync1.js
@@ -16,7 +16,6 @@
*
* SERVER-49428: Disable for ephemeralForTest, writeConcernMajorityJournalDefault is not off
* @tags: [
- * requires_fcv_47,
* incompatible_with_eft,
* ]
*/
diff --git a/jstests/replsets/initial_sync_chooses_correct_sync_source.js b/jstests/replsets/initial_sync_chooses_correct_sync_source.js
index 73236a0c031..04f0bebd0b7 100644
--- a/jstests/replsets/initial_sync_chooses_correct_sync_source.js
+++ b/jstests/replsets/initial_sync_chooses_correct_sync_source.js
@@ -3,7 +3,6 @@
* initialSyncReadPreference.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/replsets/initial_sync_replSetGetStatus.js b/jstests/replsets/initial_sync_replSetGetStatus.js
index cdbb48f692d..feab4800489 100644
--- a/jstests/replsets/initial_sync_replSetGetStatus.js
+++ b/jstests/replsets/initial_sync_replSetGetStatus.js
@@ -2,7 +2,7 @@
* This test tests that replSetGetStatus returns initial sync stats while initial sync is in
* progress.
*
- * @tags: [requires_fcv_49, disabled_due_to_server_58295]
+ * @tags: [disabled_due_to_server_58295]
*/
(function() {
diff --git a/jstests/replsets/initial_sync_succeeds_when_syncing_node_removed.js b/jstests/replsets/initial_sync_succeeds_when_syncing_node_removed.js
index 028078d2db4..2f10822c068 100644
--- a/jstests/replsets/initial_sync_succeeds_when_syncing_node_removed.js
+++ b/jstests/replsets/initial_sync_succeeds_when_syncing_node_removed.js
@@ -3,7 +3,8 @@
* This behavior is desired because transient DNS failures can cause the node to falsely believe
* that it is removed.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initiate_or_reconfig_with_non_default_get_last_error_defaults_fails.js b/jstests/replsets/initiate_or_reconfig_with_non_default_get_last_error_defaults_fails.js
index 68e0019b672..0f50c78139c 100644
--- a/jstests/replsets/initiate_or_reconfig_with_non_default_get_last_error_defaults_fails.js
+++ b/jstests/replsets/initiate_or_reconfig_with_non_default_get_last_error_defaults_fails.js
@@ -1,7 +1,8 @@
-/*
+/**
* Test that initiating and reconfiguring when settings.getLastErrorDefaults is set
* and not {w:1, wtimeout: 0} will fail.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/isself_failure_initiate.js b/jstests/replsets/isself_failure_initiate.js
index 34712ac71e3..bf6f6cf3e93 100644
--- a/jstests/replsets/isself_failure_initiate.js
+++ b/jstests/replsets/isself_failure_initiate.js
@@ -2,7 +2,6 @@
* Tests that replSetInitiate eventually succeeds despite temporary DNS outage.
*
* @tags: [
- * requires_fcv_47,
* disabled_due_to_server_58295
* ]
*/
diff --git a/jstests/replsets/isself_failure_reconfig.js b/jstests/replsets/isself_failure_reconfig.js
index 61051309b32..1bfd214ec8f 100644
--- a/jstests/replsets/isself_failure_reconfig.js
+++ b/jstests/replsets/isself_failure_reconfig.js
@@ -3,7 +3,6 @@
* reconfig.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/isself_failure_restart.js b/jstests/replsets/isself_failure_restart.js
index d9f35d02f8a..40e7543a7e6 100644
--- a/jstests/replsets/isself_failure_restart.js
+++ b/jstests/replsets/isself_failure_restart.js
@@ -3,8 +3,7 @@
* startup.
*
* @tags: [
- * requires_fcv_47,
- * requires_persistence
+ * requires_persistence,
* ]
*/
diff --git a/jstests/replsets/new_sync_source_in_quiesce_mode.js b/jstests/replsets/new_sync_source_in_quiesce_mode.js
index c1d396ad6d0..a9894a0b7f3 100644
--- a/jstests/replsets/new_sync_source_in_quiesce_mode.js
+++ b/jstests/replsets/new_sync_source_in_quiesce_mode.js
@@ -1,9 +1,8 @@
-/*
+/**
* Test that fetching oplog from a new sync source that is in quiesce mode fails to establish a
* connection, causing the server to reenter sync source selection.
*
* @tags: [
- * requires_fcv_47,
* live_record_incompatible,
* ]
*/
diff --git a/jstests/replsets/newly_added_member_id_vs_index.js b/jstests/replsets/newly_added_member_id_vs_index.js
index 82cabe17df4..a7bd0a6fc49 100644
--- a/jstests/replsets/newly_added_member_id_vs_index.js
+++ b/jstests/replsets/newly_added_member_id_vs_index.js
@@ -4,7 +4,6 @@
* remove the 'newlyAdded' field for the node identified by _id.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/newly_added_two_nodes_simultaneous.js b/jstests/replsets/newly_added_two_nodes_simultaneous.js
index 38bc3858c83..9a2bf5c726d 100644
--- a/jstests/replsets/newly_added_two_nodes_simultaneous.js
+++ b/jstests/replsets/newly_added_two_nodes_simultaneous.js
@@ -2,7 +2,6 @@
* Tests adding two non-voting nodes to the replica set at the same time.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/newly_added_user_reconfig_while_exiting_initial_sync.js b/jstests/replsets/newly_added_user_reconfig_while_exiting_initial_sync.js
index 19033e6c268..647609a1974 100644
--- a/jstests/replsets/newly_added_user_reconfig_while_exiting_initial_sync.js
+++ b/jstests/replsets/newly_added_user_reconfig_while_exiting_initial_sync.js
@@ -4,7 +4,6 @@
* than one party having to retry).
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/newly_added_with_user_reconfig.js b/jstests/replsets/newly_added_with_user_reconfig.js
index 75186f68bd6..adc5dd0fa6b 100644
--- a/jstests/replsets/newly_added_with_user_reconfig.js
+++ b/jstests/replsets/newly_added_with_user_reconfig.js
@@ -3,7 +3,6 @@
* reconfigs.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js b/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js
index af9a5d5364b..8ba24bdaa9b 100644
--- a/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js
+++ b/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js
@@ -5,7 +5,8 @@
* significantly farther away from S2 than S1's data center. Finally, we verify that S2 will decide
* to sync from S1, since S1's data center is closer.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/nodes_in_primarys_datacenter_dont_sync_across_datacenters.js b/jstests/replsets/nodes_in_primarys_datacenter_dont_sync_across_datacenters.js
index e9a0e1a7f15..2a5a4a19f7d 100644
--- a/jstests/replsets/nodes_in_primarys_datacenter_dont_sync_across_datacenters.js
+++ b/jstests/replsets/nodes_in_primarys_datacenter_dont_sync_across_datacenters.js
@@ -1,11 +1,12 @@
-/*
+/**
* Tests that nodes in the same region as the primary eventually do not sync across data centers. We
* do this with a three-node replica set (P, S1, and S2). P and S1 are in the same data center,
* while S2 is in its own data center. Initially, S1 syncs from S2, and S2 syncs from P. We verify
* that eventually S1 will decide to sync from P, because it is in the same datacenter as P and thus
* has a lower ping time.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/non_transaction_snapshot_reads.js b/jstests/replsets/non_transaction_snapshot_reads.js
index c2cb3b1e507..d3468f04b7f 100644
--- a/jstests/replsets/non_transaction_snapshot_reads.js
+++ b/jstests/replsets/non_transaction_snapshot_reads.js
@@ -2,7 +2,6 @@
* Tests readConcern level snapshot outside of transactions.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/oplog_format.js b/jstests/replsets/oplog_format.js
index 149233e805a..d27f60ed2df 100644
--- a/jstests/replsets/oplog_format.js
+++ b/jstests/replsets/oplog_format.js
@@ -3,7 +3,8 @@
*
* Do not add more tests here but instead add C++ unit tests in db/ops/modifier*_test files
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/pin_history_after_restart.js b/jstests/replsets/pin_history_after_restart.js
index 38c0265484e..5207a265455 100644
--- a/jstests/replsets/pin_history_after_restart.js
+++ b/jstests/replsets/pin_history_after_restart.js
@@ -18,7 +18,10 @@
* 5) Remove the pin at "original pin"
* 6) Restart the node, see the incremented pin value from serverStatus.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence]
+ * @tags: [
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/prepare_transaction_read_at_cluster_time.js b/jstests/replsets/prepare_transaction_read_at_cluster_time.js
index 1e6ae30b5d6..b4d21323f5a 100644
--- a/jstests/replsets/prepare_transaction_read_at_cluster_time.js
+++ b/jstests/replsets/prepare_transaction_read_at_cluster_time.js
@@ -4,7 +4,10 @@
* concern with 'atClusterTime' as the timestamp of the second write for 'dbHash'. The
* commands should block until the prepared transaction is committed or aborted.
*
- * @tags: [uses_transactions, uses_prepare_transaction, requires_fcv_47]
+ * @tags: [
+ * uses_prepare_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/query_with_txn_prepared.js b/jstests/replsets/query_with_txn_prepared.js
index 19d52395208..fcf05002310 100644
--- a/jstests/replsets/query_with_txn_prepared.js
+++ b/jstests/replsets/query_with_txn_prepared.js
@@ -13,7 +13,6 @@
*
*
* @tags: [
- * requires_fcv_49,
* uses_prepare_transaction,
* uses_transactions,
* ]
diff --git a/jstests/replsets/quiesce_mode.js b/jstests/replsets/quiesce_mode.js
index dc425d3abbc..cc2cf874671 100644
--- a/jstests/replsets/quiesce_mode.js
+++ b/jstests/replsets/quiesce_mode.js
@@ -3,7 +3,6 @@
* operations are allowed to continue and new operations are accepted, but hello requests return
* a ShutdownInProgress error, so that clients begin routing operations elsewhere.
* @tags: [
- * requires_fcv_47,
* live_record_incompatible,
* ]
*/
diff --git a/jstests/replsets/read_at_cluster_time_outside_transactions.js b/jstests/replsets/read_at_cluster_time_outside_transactions.js
index 31a1bc0bead..cdc3421cc51 100644
--- a/jstests/replsets/read_at_cluster_time_outside_transactions.js
+++ b/jstests/replsets/read_at_cluster_time_outside_transactions.js
@@ -3,7 +3,6 @@
* $_internalReadAtClusterTime option.
*
* @tags: [
- * requires_fcv_47,
* uses_transactions,
* ]
*/
diff --git a/jstests/replsets/read_committed_with_catalog_changes.js b/jstests/replsets/read_committed_with_catalog_changes.js
index a0053de2bfd..6ba0ce1629e 100644
--- a/jstests/replsets/read_committed_with_catalog_changes.js
+++ b/jstests/replsets/read_committed_with_catalog_changes.js
@@ -22,7 +22,6 @@
* - compact collection
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* ]
*/
diff --git a/jstests/replsets/read_concern_snapshot_uses_committed.js b/jstests/replsets/read_concern_snapshot_uses_committed.js
index 531c801e885..c2ca2ce80bf 100644
--- a/jstests/replsets/read_concern_snapshot_uses_committed.js
+++ b/jstests/replsets/read_concern_snapshot_uses_committed.js
@@ -6,7 +6,6 @@
* read.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/read_operations_during_rollback.js b/jstests/replsets/read_operations_during_rollback.js
index 73785f5a4a2..ae77d7b2e21 100644
--- a/jstests/replsets/read_operations_during_rollback.js
+++ b/jstests/replsets/read_operations_during_rollback.js
@@ -1,9 +1,7 @@
-/*
+/**
* This test makes sure 'find' and 'getMore' commands fail correctly during rollback.
*
* @tags: [
- * # The 'getMoreHangAfterPinCursor' failpoint is not present in 4.4.
- * requires_fcv_49,
* requires_majority_read_concern,
* ]
*/
diff --git a/jstests/replsets/reconfig_avoids_rolling_back_committed_writes_in_psa_sets.js b/jstests/replsets/reconfig_avoids_rolling_back_committed_writes_in_psa_sets.js
index ae11141e0c4..ba3c71f4e79 100644
--- a/jstests/replsets/reconfig_avoids_rolling_back_committed_writes_in_psa_sets.js
+++ b/jstests/replsets/reconfig_avoids_rolling_back_committed_writes_in_psa_sets.js
@@ -14,7 +14,8 @@
*
* Finally, we step up the secondary and verify that the oplog entry was not rolled back.
*
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/reconfig_fails_no_cwwc_set.js b/jstests/replsets/reconfig_fails_no_cwwc_set.js
index d62666d6b9b..bd72737aeb6 100644
--- a/jstests/replsets/reconfig_fails_no_cwwc_set.js
+++ b/jstests/replsets/reconfig_fails_no_cwwc_set.js
@@ -1,8 +1,8 @@
-/*
+/**
* Test that a reconfig that would change the implicit default write concern fails.
* In order to perform such a reconfig, users must set a cluster-wide write concern.
*
- * @tags: [requires_fcv_50, disabled_due_to_server_58295]
+ * @tags: [disabled_due_to_server_58295]
*/
(function() {
diff --git a/jstests/replsets/reindex.js b/jstests/replsets/reindex.js
index 211fbe55001..0eb499e8ca9 100644
--- a/jstests/replsets/reindex.js
+++ b/jstests/replsets/reindex.js
@@ -3,7 +3,8 @@
* that the command can't be run on a primary or a secondary. Then it will make sure that the
* reindex command can be successfully run on a standalone node.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/replsets/remove1.js b/jstests/replsets/remove1.js
index b3b593620ab..d99e0ca1895 100644
--- a/jstests/replsets/remove1.js
+++ b/jstests/replsets/remove1.js
@@ -1,4 +1,4 @@
-/* test removing a node from a replica set
+/**test removing a node from a replica set
*
* Start set with two nodes
* Initial sync
@@ -7,12 +7,9 @@
* Add it back as secondary
* Make sure both nodes are either primary or secondary
*
- * This test assumes 'newlyAdded' fields are enabled, so denylist from multiversion tests
- * against 4.4.
*
* SERVER-49428: Disable for ephemeralForTest, writeConcernMajorityJournalDefault is not off
* @tags: [
- * requires_fcv_47,
* incompatible_with_eft,
* ]
*/
diff --git a/jstests/replsets/remove_newly_added_field_after_finishing_initial_sync.js b/jstests/replsets/remove_newly_added_field_after_finishing_initial_sync.js
index ef00ea58494..59a6d7713bf 100644
--- a/jstests/replsets/remove_newly_added_field_after_finishing_initial_sync.js
+++ b/jstests/replsets/remove_newly_added_field_after_finishing_initial_sync.js
@@ -5,7 +5,6 @@
* field.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/remove_newly_added_field_votes_zero.js b/jstests/replsets/remove_newly_added_field_votes_zero.js
index f339526a55f..f883ff190f9 100644
--- a/jstests/replsets/remove_newly_added_field_votes_zero.js
+++ b/jstests/replsets/remove_newly_added_field_votes_zero.js
@@ -3,7 +3,6 @@
* 'votes:0', but is also removed if a node ends up with 'votes:0' and 'newlyAdded'.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/remove_newly_added_member_index_swap_concurrent.js b/jstests/replsets/remove_newly_added_member_index_swap_concurrent.js
index 46271963e4e..3ee21bd1537 100644
--- a/jstests/replsets/remove_newly_added_member_index_swap_concurrent.js
+++ b/jstests/replsets/remove_newly_added_member_index_swap_concurrent.js
@@ -4,7 +4,6 @@
* that we can test that we target members by id and not index when removing 'newlyAdded' fields.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/restart_index_build_if_resume_interrupted_by_rollback.js b/jstests/replsets/restart_index_build_if_resume_interrupted_by_rollback.js
index 4af8fe46208..52296b9fffd 100644
--- a/jstests/replsets/restart_index_build_if_resume_interrupted_by_rollback.js
+++ b/jstests/replsets/restart_index_build_if_resume_interrupted_by_rollback.js
@@ -3,7 +3,6 @@
* fails to run to completion before a subsequent rollback, it will restart from the beginning.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/resume_after_against_oplog.js b/jstests/replsets/resume_after_against_oplog.js
index 6db643f2a1a..8f77b38f4ae 100644
--- a/jstests/replsets/resume_after_against_oplog.js
+++ b/jstests/replsets/resume_after_against_oplog.js
@@ -3,7 +3,6 @@
* 'getMore' requests and responses on the oplog.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/rollback_clustered_indexes.js b/jstests/replsets/rollback_clustered_indexes.js
index 479be9c6026..4f1cc3c2ed8 100644
--- a/jstests/replsets/rollback_clustered_indexes.js
+++ b/jstests/replsets/rollback_clustered_indexes.js
@@ -1,7 +1,6 @@
/**
* Tests that writes on collections clustered by _id can be rolled back.
* @tags: [
- * requires_fcv_49,
* requires_replication,
* requires_wiredtiger,
* ]
diff --git a/jstests/replsets/rollback_resumable_index_build_collection_scan_phase.js b/jstests/replsets/rollback_resumable_index_build_collection_scan_phase.js
index b36a133696a..b0cd399640f 100644
--- a/jstests/replsets/rollback_resumable_index_build_collection_scan_phase.js
+++ b/jstests/replsets/rollback_resumable_index_build_collection_scan_phase.js
@@ -3,7 +3,6 @@
* the collection scan phase.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/rollback_resumable_index_build_collection_scan_phase_large.js b/jstests/replsets/rollback_resumable_index_build_collection_scan_phase_large.js
index 90e6dffe899..19bb9b439e1 100644
--- a/jstests/replsets/rollback_resumable_index_build_collection_scan_phase_large.js
+++ b/jstests/replsets/rollback_resumable_index_build_collection_scan_phase_large.js
@@ -3,7 +3,6 @@
* phase completes properly after being interrupted for rollback during the collection scan phase.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/rollback_resumable_index_build_drain_writes_phase.js b/jstests/replsets/rollback_resumable_index_build_drain_writes_phase.js
index 9a8fe711907..ff10de19d0b 100644
--- a/jstests/replsets/rollback_resumable_index_build_drain_writes_phase.js
+++ b/jstests/replsets/rollback_resumable_index_build_drain_writes_phase.js
@@ -3,7 +3,6 @@
* the drain writes phase.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/rollback_resumable_index_build_mixed_phases.js b/jstests/replsets/rollback_resumable_index_build_mixed_phases.js
index 2c986379558..580129076de 100644
--- a/jstests/replsets/rollback_resumable_index_build_mixed_phases.js
+++ b/jstests/replsets/rollback_resumable_index_build_mixed_phases.js
@@ -3,7 +3,6 @@
* different phases.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/secondarydelaysecs_clean_shutdown.js b/jstests/replsets/secondarydelaysecs_clean_shutdown.js
index c40360cec05..2e3dea28762 100644
--- a/jstests/replsets/secondarydelaysecs_clean_shutdown.js
+++ b/jstests/replsets/secondarydelaysecs_clean_shutdown.js
@@ -1,6 +1,8 @@
// SERVER-21118 don't hang at shutdown or apply ops too soon with secondaryDelaySecs.
//
-// @tags: [requires_persistence, requires_fcv_49]
+// @tags: [
+// requires_persistence,
+// ]
load('jstests/replsets/rslib.js');
(function() {
"use strict";
diff --git a/jstests/replsets/secondarydelaysecs_sync_source.js b/jstests/replsets/secondarydelaysecs_sync_source.js
index e2b7de6a3bf..0b5c87429c8 100644
--- a/jstests/replsets/secondarydelaysecs_sync_source.js
+++ b/jstests/replsets/secondarydelaysecs_sync_source.js
@@ -3,7 +3,8 @@
// a write to the primary and ensure this write propagates
// to the disconnected node via the delayed secondary.
//
-// @tags: [requires_fcv_49]
+// @tags: [
+// ]
load("jstests/replsets/rslib.js");
var replTest = new ReplSetTest({nodes: 3, useBridge: true});
diff --git a/jstests/replsets/secondarydelaysecs_waits_for_writes.js b/jstests/replsets/secondarydelaysecs_waits_for_writes.js
index a98a719056d..4aaeea5e96b 100644
--- a/jstests/replsets/secondarydelaysecs_waits_for_writes.js
+++ b/jstests/replsets/secondarydelaysecs_waits_for_writes.js
@@ -8,7 +8,8 @@
// 3. Finally, we perform a reconfig to reduce the fourth node's delay from 30 seconds
// to 15 seconds, and test that the delay behavior is the same as before.
//
-// @tags: [requires_fcv_49]
+// @tags: [
+// ]
load("jstests/replsets/rslib.js");
doTest = function(signal) {
diff --git a/jstests/replsets/snapshot_reads_before_initial_sync_finishes.js b/jstests/replsets/snapshot_reads_before_initial_sync_finishes.js
index e22a237635d..59b927ad9d6 100644
--- a/jstests/replsets/snapshot_reads_before_initial_sync_finishes.js
+++ b/jstests/replsets/snapshot_reads_before_initial_sync_finishes.js
@@ -3,7 +3,6 @@
* would result in SnapshotTooOld error regardless of the snapshot history window.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/replsets/split_horizon_startup_warning.js b/jstests/replsets/split_horizon_startup_warning.js
index 0a524b61b3a..a051bbb0e92 100644
--- a/jstests/replsets/split_horizon_startup_warning.js
+++ b/jstests/replsets/split_horizon_startup_warning.js
@@ -1,7 +1,9 @@
/**
* Ensures that a startup warning is issued if a node starts with an IP address in its
* ReplSetConfig's SplitHorizon configuration.
- * @tags: [requires_fcv_47, requires_persistence]
+ * @tags: [
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/sync_source_enters_quiesce_mode.js b/jstests/replsets/sync_source_enters_quiesce_mode.js
index 706c0d9e5d2..3455ca7d37f 100644
--- a/jstests/replsets/sync_source_enters_quiesce_mode.js
+++ b/jstests/replsets/sync_source_enters_quiesce_mode.js
@@ -4,7 +4,6 @@
*
* @tags: [
* live_record_incompatible,
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_abort_forget_retry.js b/jstests/replsets/tenant_migration_abort_forget_retry.js
index 03297a59254..b770e05fbe3 100644
--- a/jstests/replsets/tenant_migration_abort_forget_retry.js
+++ b/jstests/replsets/tenant_migration_abort_forget_retry.js
@@ -4,8 +4,13 @@
* and then issues a donorForgetMigration command. Finally, starts a second tenant migration with
* the same tenantId as the aborted migration, and expects this second migration to go through.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_aborted_buildindex.js b/jstests/replsets/tenant_migration_aborted_buildindex.js
index 8900bd57c5d..de122579298 100644
--- a/jstests/replsets/tenant_migration_aborted_buildindex.js
+++ b/jstests/replsets/tenant_migration_aborted_buildindex.js
@@ -1,7 +1,7 @@
/**
* Tests that index building is properly completed when a migration aborts.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
+ * @tags: [requires_majority_read_concern, incompatible_with_eft,
* incompatible_with_windows_tls, incompatible_with_macos, requires_persistence,
* disabled_due_to_server_58295]
*/
diff --git a/jstests/replsets/tenant_migration_blocking_state_timeout.js b/jstests/replsets/tenant_migration_blocking_state_timeout.js
index 628a3dca42f..82148d701f7 100644
--- a/jstests/replsets/tenant_migration_blocking_state_timeout.js
+++ b/jstests/replsets/tenant_migration_blocking_state_timeout.js
@@ -1,8 +1,13 @@
/**
* Tests tenant migration timeout scenarios.
*
- * @tags: [requires_fcv_47, incompatible_with_eft, requires_majority_read_concern,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_buildindex.js b/jstests/replsets/tenant_migration_buildindex.js
index b92a868afd2..37ccd75b105 100644
--- a/jstests/replsets/tenant_migration_buildindex.js
+++ b/jstests/replsets/tenant_migration_buildindex.js
@@ -1,8 +1,13 @@
/**
* Tests that index building is properly blocked and/or aborted during migrations.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_causal_consistency_commit_optime_before_last_cloning_optime.js b/jstests/replsets/tenant_migration_causal_consistency_commit_optime_before_last_cloning_optime.js
index 0679408ad67..18070b222bf 100644
--- a/jstests/replsets/tenant_migration_causal_consistency_commit_optime_before_last_cloning_optime.js
+++ b/jstests/replsets/tenant_migration_causal_consistency_commit_optime_before_last_cloning_optime.js
@@ -2,9 +2,14 @@
* Verify that causal consistency is respected if a tenant migration commits with an earlier optime
* timestamp than the latest optime associated with cloning on the recipient.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence,
- * featureFlagTenantMigrations]
+ * @tags: [
+ * featureFlagTenantMigrations,
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_cloner_stats.js b/jstests/replsets/tenant_migration_cloner_stats.js
index f6408b27d8f..e1760ee9bea 100644
--- a/jstests/replsets/tenant_migration_cloner_stats.js
+++ b/jstests/replsets/tenant_migration_cloner_stats.js
@@ -2,8 +2,13 @@
* Tests tenant migration cloner stats such as 'approxTotalDataSize', 'approxTotalBytesCopied'
* across multiple databases and collections in the absence of failovers.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_cloner_stats_with_failover.js b/jstests/replsets/tenant_migration_cloner_stats_with_failover.js
index 5648a47a9a3..de3ff0d7423 100644
--- a/jstests/replsets/tenant_migration_cloner_stats_with_failover.js
+++ b/jstests/replsets/tenant_migration_cloner_stats_with_failover.js
@@ -10,8 +10,13 @@
* 3. Step up the new primary. Ensure that the stats such as 'databasesClonedBeforeFailover' tally.
* 4. Allow the tenant migration to complete and commit. Ensure that stats are sensible.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_clones_system_views.js b/jstests/replsets/tenant_migration_clones_system_views.js
index f969d6d4d2b..fc89f56bd2f 100644
--- a/jstests/replsets/tenant_migration_clones_system_views.js
+++ b/jstests/replsets/tenant_migration_clones_system_views.js
@@ -2,8 +2,13 @@
* Tests that tenant migrations correctly clone 'system.views' collections that belong to the
* tenant.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_cloning_uses_read_concern_majority.js b/jstests/replsets/tenant_migration_cloning_uses_read_concern_majority.js
index 143507b4429..88bc6238c30 100644
--- a/jstests/replsets/tenant_migration_cloning_uses_read_concern_majority.js
+++ b/jstests/replsets/tenant_migration_cloning_uses_read_concern_majority.js
@@ -1,8 +1,13 @@
/**
* Tests that in a tenant migration, the recipient primary will use majority read concern when
* cloning documents from the donor.
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_cluster_time_keys_cloning.js b/jstests/replsets/tenant_migration_cluster_time_keys_cloning.js
index 3a3d73e3cb5..1b271cb0c9c 100644
--- a/jstests/replsets/tenant_migration_cluster_time_keys_cloning.js
+++ b/jstests/replsets/tenant_migration_cluster_time_keys_cloning.js
@@ -2,8 +2,13 @@
* Test that tenant migration donor and recipient correctly copy each other cluster time keys into
* their config.external_validation_keys collection.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_collection_ttl.js b/jstests/replsets/tenant_migration_collection_ttl.js
index caf086ed1f1..f033d57ab4e 100644
--- a/jstests/replsets/tenant_migration_collection_ttl.js
+++ b/jstests/replsets/tenant_migration_collection_ttl.js
@@ -3,8 +3,13 @@
* avoid consistency errors as the data synchronization phase may operate
* concurrently with TTL deletions.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_commit_transaction_retry.js b/jstests/replsets/tenant_migration_commit_transaction_retry.js
index 45e266ae31f..3db8433da76 100644
--- a/jstests/replsets/tenant_migration_commit_transaction_retry.js
+++ b/jstests/replsets/tenant_migration_commit_transaction_retry.js
@@ -1,8 +1,13 @@
/**
* Tests that the client can retry commitTransaction on the tenant migration recipient.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_bulk_writes.js b/jstests/replsets/tenant_migration_concurrent_bulk_writes.js
index 8c809c8c7c0..34e442ebd24 100644
--- a/jstests/replsets/tenant_migration_concurrent_bulk_writes.js
+++ b/jstests/replsets/tenant_migration_concurrent_bulk_writes.js
@@ -4,8 +4,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/tenant_migration_concurrent_migrations.js b/jstests/replsets/tenant_migration_concurrent_migrations.js
index a4849dea452..305a878c829 100644
--- a/jstests/replsets/tenant_migration_concurrent_migrations.js
+++ b/jstests/replsets/tenant_migration_concurrent_migrations.js
@@ -6,8 +6,13 @@
* migration state to "committed" and "aborted" to be majority committed but it cannot do that on
* ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_migrations_recipient.js b/jstests/replsets/tenant_migration_concurrent_migrations_recipient.js
index 7b3510c3bfa..b0e6c1198fb 100644
--- a/jstests/replsets/tenant_migration_concurrent_migrations_recipient.js
+++ b/jstests/replsets/tenant_migration_concurrent_migrations_recipient.js
@@ -1,8 +1,13 @@
/**
* Tests running 50 concurrent migrations against the same recipient.
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence,
- * incompatible_with_amazon_linux]
+ * @tags: [
+ * incompatible_with_amazon_linux,
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_reads_on_donor.js b/jstests/replsets/tenant_migration_concurrent_reads_on_donor.js
index 326e0db6625..e876a7e390c 100644
--- a/jstests/replsets/tenant_migration_concurrent_reads_on_donor.js
+++ b/jstests/replsets/tenant_migration_concurrent_reads_on_donor.js
@@ -7,8 +7,13 @@
* - does not reject reads with atClusterTime/afterClusterTime >= blockTimestamp and linearizable
* reads after the migration aborts.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_reads_on_recipient.js b/jstests/replsets/tenant_migration_concurrent_reads_on_recipient.js
index 584d42a5a1f..0b2af0177a5 100644
--- a/jstests/replsets/tenant_migration_concurrent_reads_on_recipient.js
+++ b/jstests/replsets/tenant_migration_concurrent_reads_on_recipient.js
@@ -8,8 +8,13 @@
* - if the migration aborts after rejectReadsBeforeTimestamp is set, the recipient keeps rejecting
* reads with atClusterTime < rejectReadsBeforeTimestamp until the state doc is garbage collected.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_reconfig.js b/jstests/replsets/tenant_migration_concurrent_reconfig.js
index 2cd28a332c6..0cd4c37c643 100644
--- a/jstests/replsets/tenant_migration_concurrent_reconfig.js
+++ b/jstests/replsets/tenant_migration_concurrent_reconfig.js
@@ -1,8 +1,13 @@
/**
* Tests that reconfigs cause tenant migrations to fail cleanly when issued between
* donor commands sent to the recipient, and that they succeed in all other cases.
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_state_doc_removal_and_stepdown.js b/jstests/replsets/tenant_migration_concurrent_state_doc_removal_and_stepdown.js
index 859c4c9bef4..f4862fc5120 100644
--- a/jstests/replsets/tenant_migration_concurrent_state_doc_removal_and_stepdown.js
+++ b/jstests/replsets/tenant_migration_concurrent_state_doc_removal_and_stepdown.js
@@ -2,8 +2,13 @@
* Tests that donorForgetMigration command doesn't hang if failover occurs immediately after the
* state doc for the migration has been removed.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js b/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js
index c62ca02de7d..dcc0b229877 100644
--- a/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js
+++ b/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js
@@ -7,8 +7,13 @@
* migration state to "committed" and "aborted" to be majority committed but it cannot do that on
* ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/tenant_migration_concurrent_writes_on_recipient.js b/jstests/replsets/tenant_migration_concurrent_writes_on_recipient.js
index 30646b58d5d..fa34814ec67 100644
--- a/jstests/replsets/tenant_migration_concurrent_writes_on_recipient.js
+++ b/jstests/replsets/tenant_migration_concurrent_writes_on_recipient.js
@@ -2,8 +2,13 @@
* Tests that the recipient only rejects with writes between when cloning is done and when it
* receives and reaches the rejectReadsBeforeTimestamp since no read is allowed in that time window.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_conflicting_donor_start_migration_cmds.js b/jstests/replsets/tenant_migration_conflicting_donor_start_migration_cmds.js
index c0bdbcedaff..95fccb8e806 100644
--- a/jstests/replsets/tenant_migration_conflicting_donor_start_migration_cmds.js
+++ b/jstests/replsets/tenant_migration_conflicting_donor_start_migration_cmds.js
@@ -2,8 +2,13 @@
* Test that tenant migration donors correctly join retried donorStartMigration commands and reject
* conflicting donorStartMigration commands.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/tenant_migration_conflicting_recipient_sync_data_cmds.js b/jstests/replsets/tenant_migration_conflicting_recipient_sync_data_cmds.js
index 39dc2ca287d..209891ea735 100644
--- a/jstests/replsets/tenant_migration_conflicting_recipient_sync_data_cmds.js
+++ b/jstests/replsets/tenant_migration_conflicting_recipient_sync_data_cmds.js
@@ -1,8 +1,13 @@
/**
* Test that tenant migration recipient rejects conflicting recipientSyncData commands.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_abort_state_transition.js b/jstests/replsets/tenant_migration_donor_abort_state_transition.js
index 363b224e97f..dfcae457320 100644
--- a/jstests/replsets/tenant_migration_donor_abort_state_transition.js
+++ b/jstests/replsets/tenant_migration_donor_abort_state_transition.js
@@ -1,8 +1,13 @@
/**
* Tests that the migration still proceeds successfully after a state transition write aborts.
*
- * @tags: [requires_fcv_47, incompatible_with_eft, requires_majority_read_concern,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/tenant_migration_donor_current_op.js b/jstests/replsets/tenant_migration_donor_current_op.js
index 6ee430e07a9..d7d580fc026 100644
--- a/jstests/replsets/tenant_migration_donor_current_op.js
+++ b/jstests/replsets/tenant_migration_donor_current_op.js
@@ -3,8 +3,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js b/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js
index 09a5571e5d5..cc2207ca547 100644
--- a/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js
+++ b/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js
@@ -4,8 +4,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_interrupt_on_stepdown_and_shutdown.js b/jstests/replsets/tenant_migration_donor_interrupt_on_stepdown_and_shutdown.js
index 52fd23aa272..db1039295ae 100644
--- a/jstests/replsets/tenant_migration_donor_interrupt_on_stepdown_and_shutdown.js
+++ b/jstests/replsets/tenant_migration_donor_interrupt_on_stepdown_and_shutdown.js
@@ -1,8 +1,13 @@
/**
* Tests that tenant migrations are interrupted successfully on stepdown and shutdown.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_kill_op_retry.js b/jstests/replsets/tenant_migration_donor_kill_op_retry.js
index e922acd6edc..4c8f22cfb71 100644
--- a/jstests/replsets/tenant_migration_donor_kill_op_retry.js
+++ b/jstests/replsets/tenant_migration_donor_kill_op_retry.js
@@ -1,8 +1,14 @@
/**
* Tests that the donor will retry its steps if its OperationContext is interrupted by a killOp.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * disabled_due_to_server_58295,
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_resume_on_stepup_and_restart.js b/jstests/replsets/tenant_migration_donor_resume_on_stepup_and_restart.js
index 76a563f447d..5536b1b0927 100644
--- a/jstests/replsets/tenant_migration_donor_resume_on_stepup_and_restart.js
+++ b/jstests/replsets/tenant_migration_donor_resume_on_stepup_and_restart.js
@@ -1,8 +1,13 @@
/**
* Tests that tenant migrations resume successfully on donor stepup and restart.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_retry.js b/jstests/replsets/tenant_migration_donor_retry.js
index 02237198ac1..861a3ded07e 100644
--- a/jstests/replsets/tenant_migration_donor_retry.js
+++ b/jstests/replsets/tenant_migration_donor_retry.js
@@ -2,8 +2,13 @@
* Tests that the donor retries its steps until success, or it gets an error that should lead to
* an abort decision.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_rollback_during_cloning.js b/jstests/replsets/tenant_migration_donor_rollback_during_cloning.js
index c125c3fc1c4..31ea505c6d5 100644
--- a/jstests/replsets/tenant_migration_donor_rollback_during_cloning.js
+++ b/jstests/replsets/tenant_migration_donor_rollback_during_cloning.js
@@ -3,8 +3,13 @@
* tenant cloner performs (such as 'listCollections' and 'listDatabases') account for donor
* rollback.
*
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_rollback_recovery.js b/jstests/replsets/tenant_migration_donor_rollback_recovery.js
index c31be907360..159d842302d 100644
--- a/jstests/replsets/tenant_migration_donor_rollback_recovery.js
+++ b/jstests/replsets/tenant_migration_donor_rollback_recovery.js
@@ -1,8 +1,13 @@
/**
* Tests that tenant migrations that go through donor rollback are recovered correctly.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/tenant_migration_donor_shutdown_while_blocking_reads.js b/jstests/replsets/tenant_migration_donor_shutdown_while_blocking_reads.js
index 2fcce35116e..05e29765b86 100644
--- a/jstests/replsets/tenant_migration_donor_shutdown_while_blocking_reads.js
+++ b/jstests/replsets/tenant_migration_donor_shutdown_while_blocking_reads.js
@@ -2,8 +2,13 @@
* Tests that tenant migration donor can peacefully shut down when there are reads being blocked due
* to an in-progress migration.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_startup_recovery.js b/jstests/replsets/tenant_migration_donor_startup_recovery.js
index eeab935a9a3..456c98a9976 100644
--- a/jstests/replsets/tenant_migration_donor_startup_recovery.js
+++ b/jstests/replsets/tenant_migration_donor_startup_recovery.js
@@ -4,8 +4,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_state_machine.js b/jstests/replsets/tenant_migration_donor_state_machine.js
index fed89e496c4..8d3e9c87892 100644
--- a/jstests/replsets/tenant_migration_donor_state_machine.js
+++ b/jstests/replsets/tenant_migration_donor_state_machine.js
@@ -7,8 +7,13 @@
* migration state to "committed" and "aborted" to be majority committed but it cannot do that on
* ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_try_abort.js b/jstests/replsets/tenant_migration_donor_try_abort.js
index 4e019488456..41535764048 100644
--- a/jstests/replsets/tenant_migration_donor_try_abort.js
+++ b/jstests/replsets/tenant_migration_donor_try_abort.js
@@ -1,8 +1,13 @@
/**
* Tests the donorAbortMigration command during a tenant migration.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_unblock_reads_and_writes_on_completion.js b/jstests/replsets/tenant_migration_donor_unblock_reads_and_writes_on_completion.js
index 7315031c4fb..6d591d6e8fa 100644
--- a/jstests/replsets/tenant_migration_donor_unblock_reads_and_writes_on_completion.js
+++ b/jstests/replsets/tenant_migration_donor_unblock_reads_and_writes_on_completion.js
@@ -2,8 +2,13 @@
* Tests that tenant migration donor reliably unblocks blocked reads and writes when the migration
* completes or is interrupted when the state doc collection is dropped.
*
- * @tags: [requires_fcv_50, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_donor_wont_retry_recipientsyncdata_on_non_retriable_interruption_errors.js b/jstests/replsets/tenant_migration_donor_wont_retry_recipientsyncdata_on_non_retriable_interruption_errors.js
index 3faeff4d607..725fcc97413 100644
--- a/jstests/replsets/tenant_migration_donor_wont_retry_recipientsyncdata_on_non_retriable_interruption_errors.js
+++ b/jstests/replsets/tenant_migration_donor_wont_retry_recipientsyncdata_on_non_retriable_interruption_errors.js
@@ -3,7 +3,7 @@
* 'interruption' error for the 'recipientSyncData' command. This is to avoid situations like
* SERVER-58398.
*
- * @tags: [requires_fcv_50, requires_majority_read_concern, requires_persistence,
+ * @tags: [requires_majority_read_concern, requires_persistence,
* incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
*/
diff --git a/jstests/replsets/tenant_migration_drop_collection.js b/jstests/replsets/tenant_migration_drop_collection.js
index 1c82423d520..73db072bd71 100644
--- a/jstests/replsets/tenant_migration_drop_collection.js
+++ b/jstests/replsets/tenant_migration_drop_collection.js
@@ -2,8 +2,13 @@
* Tests that TenantCollectionCloner completes without error when a collection is dropped during
* cloning as part of a tenant migration.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_drop_state_doc_collection.js b/jstests/replsets/tenant_migration_drop_state_doc_collection.js
index 98b4a1595ca..203b7e46ee0 100644
--- a/jstests/replsets/tenant_migration_drop_state_doc_collection.js
+++ b/jstests/replsets/tenant_migration_drop_state_doc_collection.js
@@ -1,8 +1,13 @@
/**
* Tests dropping the donor and recipient state doc collections in the middle of a tenant migration.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js b/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js
index 8593e6dbaf0..37537a43f28 100644
--- a/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js
+++ b/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js
@@ -4,8 +4,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/tenant_migration_external_cluster_validation.js b/jstests/replsets/tenant_migration_external_cluster_validation.js
index 6ef99afca33..8c160d96d67 100644
--- a/jstests/replsets/tenant_migration_external_cluster_validation.js
+++ b/jstests/replsets/tenant_migration_external_cluster_validation.js
@@ -2,8 +2,13 @@
* Verify that after a tenant migration the donor and recipient can validate each other's
* cluster times.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_external_keys_ttl.js b/jstests/replsets/tenant_migration_external_keys_ttl.js
index 8d7f0b58859..3a09ad7188b 100644
--- a/jstests/replsets/tenant_migration_external_keys_ttl.js
+++ b/jstests/replsets/tenant_migration_external_keys_ttl.js
@@ -2,8 +2,13 @@
* Tests that tenant migrations correctly set the TTL values for keys in the
* config.external_validation_keys collection.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_fetch_committed_transactions.js b/jstests/replsets/tenant_migration_fetch_committed_transactions.js
index 63850f4b5ba..d606b5075ea 100644
--- a/jstests/replsets/tenant_migration_fetch_committed_transactions.js
+++ b/jstests/replsets/tenant_migration_fetch_committed_transactions.js
@@ -3,8 +3,13 @@
* 'lastWriteOpTime' before the stored 'startFetchingOpTime'. The recipient should store these
* committed transaction entries in its own 'config.transactions' collection.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_fetch_committed_transactions_retry.js b/jstests/replsets/tenant_migration_fetch_committed_transactions_retry.js
index bc20a96f090..8b1fc7474ba 100644
--- a/jstests/replsets/tenant_migration_fetch_committed_transactions_retry.js
+++ b/jstests/replsets/tenant_migration_fetch_committed_transactions_retry.js
@@ -6,8 +6,13 @@
* 3) Retrying while the migration is updating, and the donor starts a new transaction on an
* existing session.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_filters_tenant_id.js b/jstests/replsets/tenant_migration_filters_tenant_id.js
index 0183e8be16f..9982ec38cde 100644
--- a/jstests/replsets/tenant_migration_filters_tenant_id.js
+++ b/jstests/replsets/tenant_migration_filters_tenant_id.js
@@ -1,8 +1,13 @@
/**
* Tests that tenant migrations are correctly filtering DBs by tenantId.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_find_and_modify_retry.js b/jstests/replsets/tenant_migration_find_and_modify_retry.js
index ad296f6f234..908477862f5 100644
--- a/jstests/replsets/tenant_migration_find_and_modify_retry.js
+++ b/jstests/replsets/tenant_migration_find_and_modify_retry.js
@@ -5,8 +5,13 @@
* migration does not need to support retrying the findAndModify. We test that the tenant migration
* can still succeed in this case.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_ignore_create_index_on_nonempty_collection.js b/jstests/replsets/tenant_migration_ignore_create_index_on_nonempty_collection.js
index 765109c0828..78bbe38f90e 100644
--- a/jstests/replsets/tenant_migration_ignore_create_index_on_nonempty_collection.js
+++ b/jstests/replsets/tenant_migration_ignore_create_index_on_nonempty_collection.js
@@ -4,8 +4,13 @@
* is guaranteed to be dropped after because we block explicit index builds on the donor for the
* duration of the tenant migration.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_index_oplog_entries.js b/jstests/replsets/tenant_migration_index_oplog_entries.js
index ec41defa762..6eafbe5abb5 100644
--- a/jstests/replsets/tenant_migration_index_oplog_entries.js
+++ b/jstests/replsets/tenant_migration_index_oplog_entries.js
@@ -1,8 +1,12 @@
/**
* Tests that we don't throw an error when the client performs two-phase index build operations,
* or inserts docs that contain "commitIndexBuild" or "abortIndexBuild" fields.
- * @tags: [requires_fcv_47, incompatible_with_windows_tls, incompatible_with_eft,
- * incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_invalid_inputs.js b/jstests/replsets/tenant_migration_invalid_inputs.js
index 35c2e6584ad..d2954ce1ee0 100644
--- a/jstests/replsets/tenant_migration_invalid_inputs.js
+++ b/jstests/replsets/tenant_migration_invalid_inputs.js
@@ -4,8 +4,12 @@
* connection string matches the donor's connection string or doesn't correspond to a replica set
* with a least one host.
*
- * @tags: [requires_fcv_47, incompatible_with_windows_tls, incompatible_with_eft,
- * incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_large_txn.js b/jstests/replsets/tenant_migration_large_txn.js
index 3a01e072281..ac341baeb42 100644
--- a/jstests/replsets/tenant_migration_large_txn.js
+++ b/jstests/replsets/tenant_migration_large_txn.js
@@ -5,8 +5,13 @@
* commit the transaction even if the migration enters the blocking state while the applyOps oplog
* entries are being written.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_logs.js b/jstests/replsets/tenant_migration_logs.js
index e4fdeb16af7..e33bd6ce790 100644
--- a/jstests/replsets/tenant_migration_logs.js
+++ b/jstests/replsets/tenant_migration_logs.js
@@ -1,8 +1,13 @@
/**
* Tests that migration certificates do not show up in the logs.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_metrics_output.js b/jstests/replsets/tenant_migration_metrics_output.js
index b56941f3787..460ea5ee29a 100644
--- a/jstests/replsets/tenant_migration_metrics_output.js
+++ b/jstests/replsets/tenant_migration_metrics_output.js
@@ -1,8 +1,13 @@
/**
* Verifies the serverStatus output and FTDC output for tenant migrations.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_multi_writes.js b/jstests/replsets/tenant_migration_multi_writes.js
index 67e18319226..77fe9d960d8 100644
--- a/jstests/replsets/tenant_migration_multi_writes.js
+++ b/jstests/replsets/tenant_migration_multi_writes.js
@@ -3,8 +3,13 @@
* were not retried on migration abort, which would create duplicate updates. Partially
* updated collection where each update is applied no more than once is still an expected result.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_multikey_index.js b/jstests/replsets/tenant_migration_multikey_index.js
index d2140f855f4..487a026f599 100644
--- a/jstests/replsets/tenant_migration_multikey_index.js
+++ b/jstests/replsets/tenant_migration_multikey_index.js
@@ -2,8 +2,13 @@
* Test that during tenant migration, multi-key indexes on donor collections can be
* correctly rebuilt on recipient collections, with the right multi-key paths.
*
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_network_error_via_rollback.js b/jstests/replsets/tenant_migration_network_error_via_rollback.js
index 2615979d56d..5bf08685e9d 100644
--- a/jstests/replsets/tenant_migration_network_error_via_rollback.js
+++ b/jstests/replsets/tenant_migration_network_error_via_rollback.js
@@ -3,8 +3,13 @@
* connection errors between the recipient primary and the sync source at various stages in the
* process. (Replica set members close connections as part of rollback.)
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_no_failover.js b/jstests/replsets/tenant_migration_no_failover.js
index a0e52c18839..e0be5088683 100644
--- a/jstests/replsets/tenant_migration_no_failover.js
+++ b/jstests/replsets/tenant_migration_no_failover.js
@@ -1,8 +1,13 @@
/**
* Tests a full tenant migration, assuming no failover.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_oplog_view.js b/jstests/replsets/tenant_migration_oplog_view.js
index d5884d0a080..d7d121da353 100644
--- a/jstests/replsets/tenant_migration_oplog_view.js
+++ b/jstests/replsets/tenant_migration_oplog_view.js
@@ -3,11 +3,11 @@
* reproduce the retryable writes oplog chain.
*
* @tags: [
- * requires_fcv_49,
- * requires_majority_read_concern,
* incompatible_with_eft,
+ * incompatible_with_macos,
* incompatible_with_windows_tls,
- * incompatible_with_macos, requires_persistence
+ * requires_majority_read_concern,
+ * requires_persistence,
* ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_read_your_own_writes.js b/jstests/replsets/tenant_migration_read_your_own_writes.js
index 52adb15df6e..0548068ef76 100644
--- a/jstests/replsets/tenant_migration_read_your_own_writes.js
+++ b/jstests/replsets/tenant_migration_read_your_own_writes.js
@@ -3,8 +3,13 @@
* so that we typically provide read-your-own-write guarantees for primary reads across tenant
* migrations when there is no other failover.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_current_op.js b/jstests/replsets/tenant_migration_recipient_current_op.js
index 098e7ade572..171c668cfcd 100644
--- a/jstests/replsets/tenant_migration_recipient_current_op.js
+++ b/jstests/replsets/tenant_migration_recipient_current_op.js
@@ -5,8 +5,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_does_not_change_sync_source_after_step_down.js b/jstests/replsets/tenant_migration_recipient_does_not_change_sync_source_after_step_down.js
index 3d72808ce8d..26a72b1eb56 100644
--- a/jstests/replsets/tenant_migration_recipient_does_not_change_sync_source_after_step_down.js
+++ b/jstests/replsets/tenant_migration_recipient_does_not_change_sync_source_after_step_down.js
@@ -3,11 +3,11 @@
* even after its current sync source steps down as primary.
*
* @tags: [
- * requires_majority_read_concern,
- * requires_fcv_49,
+ * incompatible_with_eft,
+ * incompatible_with_macos,
* incompatible_with_windows_tls,
- * incompatible_with_macos, requires_persistence,
- * incompatible_with_eft
+ * requires_majority_read_concern,
+ * requires_persistence,
* ]
*/
diff --git a/jstests/replsets/tenant_migration_recipient_failover_before_creating_oplog_buffer.js b/jstests/replsets/tenant_migration_recipient_failover_before_creating_oplog_buffer.js
index d4b9eaadbad..22f42f28bea 100644
--- a/jstests/replsets/tenant_migration_recipient_failover_before_creating_oplog_buffer.js
+++ b/jstests/replsets/tenant_migration_recipient_failover_before_creating_oplog_buffer.js
@@ -2,8 +2,13 @@
* Tests whether the recipient returns an appropriate error code to the donor when the recipient
* primary is made to step down before creating the oplog buffer collection.
*
- * @tags: [requires_fcv_49, requires_replication, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_persistence,
+ * requires_replication,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_entry_after_committed_snapshot.js b/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_entry_after_committed_snapshot.js
index d700d9a1de0..3b4472aeb2f 100644
--- a/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_entry_after_committed_snapshot.js
+++ b/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_entry_after_committed_snapshot.js
@@ -7,11 +7,11 @@
* majority commit point.
*
* @tags: [
- * requires_fcv_50,
- * requires_majority_read_concern,
* incompatible_with_eft,
+ * incompatible_with_macos,
* incompatible_with_windows_tls,
- * incompatible_with_macos, requires_persistence
+ * requires_majority_read_concern,
+ * requires_persistence,
* ]
*/
diff --git a/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_oplog_entries.js b/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_oplog_entries.js
index 37fea5a54b0..b000fa18c21 100644
--- a/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_oplog_entries.js
+++ b/jstests/replsets/tenant_migration_recipient_fetches_retryable_writes_oplog_entries.js
@@ -3,11 +3,11 @@
* and adds them to its oplog buffer.
*
* @tags: [
- * requires_fcv_49,
- * requires_majority_read_concern,
* incompatible_with_eft,
+ * incompatible_with_macos,
* incompatible_with_windows_tls,
- * incompatible_with_macos, requires_persistence
+ * requires_majority_read_concern,
+ * requires_persistence,
* ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_has_tenant_data.js b/jstests/replsets/tenant_migration_recipient_has_tenant_data.js
index 5bdaf254895..690410d4d2a 100644
--- a/jstests/replsets/tenant_migration_recipient_has_tenant_data.js
+++ b/jstests/replsets/tenant_migration_recipient_has_tenant_data.js
@@ -2,8 +2,13 @@
* Tests that tenant migration fails with NamespaceExists if the recipient already has tenant's
* data.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_initial_sync_cloning.js b/jstests/replsets/tenant_migration_recipient_initial_sync_cloning.js
index a2e4969c792..d7676116813 100644
--- a/jstests/replsets/tenant_migration_recipient_initial_sync_cloning.js
+++ b/jstests/replsets/tenant_migration_recipient_initial_sync_cloning.js
@@ -3,8 +3,13 @@
* initialized after initial sync, when 1) the node hasn't begun cloning data yet, 2) is cloning
* data, and 3) is in the tenant oplog application phase.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js b/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js
index b557a5cdfe1..834591c1ff7 100644
--- a/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js
+++ b/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js
@@ -4,8 +4,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_invalidates_in_memory_txns.js b/jstests/replsets/tenant_migration_recipient_invalidates_in_memory_txns.js
index d5b22b9ec26..05661703141 100644
--- a/jstests/replsets/tenant_migration_recipient_invalidates_in_memory_txns.js
+++ b/jstests/replsets/tenant_migration_recipient_invalidates_in_memory_txns.js
@@ -12,8 +12,13 @@
* Note: this test is designed to emulate a back-and-forth migration from donor to recipient,
* recipient to donor, then donor to recipient again.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_resume_on_stepup_and_restart.js b/jstests/replsets/tenant_migration_recipient_resume_on_stepup_and_restart.js
index c5b3f188594..b506b701e03 100644
--- a/jstests/replsets/tenant_migration_recipient_resume_on_stepup_and_restart.js
+++ b/jstests/replsets/tenant_migration_recipient_resume_on_stepup_and_restart.js
@@ -1,8 +1,13 @@
/**
* Tests that tenant migrations resume successfully on recipient stepup and restart.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_resumes_on_donor_failover.js b/jstests/replsets/tenant_migration_recipient_resumes_on_donor_failover.js
index b5af732a935..8c5ccae95f3 100644
--- a/jstests/replsets/tenant_migration_recipient_resumes_on_donor_failover.js
+++ b/jstests/replsets/tenant_migration_recipient_resumes_on_donor_failover.js
@@ -1,4 +1,4 @@
-/*
+/**
* Tests that the recipient will retry a migration on donor sync source failure in the following
* scenarios:
* - donor shuts down when the recipient oplog fetcher is created but cloning has yet to start
@@ -6,8 +6,13 @@
* - donor shuts down after cloning is finished but the recipient has yet to declare that the data
* is consistent
*
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_retry_forget_migration.js b/jstests/replsets/tenant_migration_recipient_retry_forget_migration.js
index 1fe81d70a80..cac8bf9a7be 100644
--- a/jstests/replsets/tenant_migration_recipient_retry_forget_migration.js
+++ b/jstests/replsets/tenant_migration_recipient_retry_forget_migration.js
@@ -1,8 +1,13 @@
/**
* Tests that a recipientForgetMigration is received after the recipient state doc has been deleted.
*
- * @tags: [requires_fcv_50, requires_majority_read_concern, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_retryable_writes_failover.js b/jstests/replsets/tenant_migration_recipient_retryable_writes_failover.js
index fff4a8d62ef..c328174f85a 100644
--- a/jstests/replsets/tenant_migration_recipient_retryable_writes_failover.js
+++ b/jstests/replsets/tenant_migration_recipient_retryable_writes_failover.js
@@ -3,11 +3,11 @@
* fails over while fetching retryable writes oplog entries from the donor.
*
* @tags: [
- * requires_fcv_49,
- * requires_majority_read_concern,
* incompatible_with_eft,
+ * incompatible_with_macos,
* incompatible_with_windows_tls,
- * incompatible_with_macos, requires_persistence
+ * requires_majority_read_concern,
+ * requires_persistence,
* ]
*/
diff --git a/jstests/replsets/tenant_migration_recipient_rollback_recovery.js b/jstests/replsets/tenant_migration_recipient_rollback_recovery.js
index e06401717cc..4ae95ef218c 100644
--- a/jstests/replsets/tenant_migration_recipient_rollback_recovery.js
+++ b/jstests/replsets/tenant_migration_recipient_rollback_recovery.js
@@ -1,8 +1,13 @@
/**
* Tests that tenant migrations that go through recipient rollback are recovered correctly.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/tenant_migration_recipient_startup_recovery.js b/jstests/replsets/tenant_migration_recipient_startup_recovery.js
index e6b58c41c6a..08fdb6bb152 100644
--- a/jstests/replsets/tenant_migration_recipient_startup_recovery.js
+++ b/jstests/replsets/tenant_migration_recipient_startup_recovery.js
@@ -4,8 +4,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_stepdown_after_forget.js b/jstests/replsets/tenant_migration_recipient_stepdown_after_forget.js
index ab1fc85118a..cd5d99c30a0 100644
--- a/jstests/replsets/tenant_migration_recipient_stepdown_after_forget.js
+++ b/jstests/replsets/tenant_migration_recipient_stepdown_after_forget.js
@@ -3,8 +3,13 @@
* primary is made to step down after marking as garbage collectable. The oplog buffer collection
* must be dropped.
*
- * @tags: [requires_fcv_49, requires_replication, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_persistence,
+ * requires_replication,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_sync_data_timeout.js b/jstests/replsets/tenant_migration_recipient_sync_data_timeout.js
index 040bee9374b..b5a0338490b 100644
--- a/jstests/replsets/tenant_migration_recipient_sync_data_timeout.js
+++ b/jstests/replsets/tenant_migration_recipient_sync_data_timeout.js
@@ -1,8 +1,13 @@
/**
* Tests that tenant migration does not fail if the recipientSyncData takes a long time to return.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_sync_donor_timestamp.js b/jstests/replsets/tenant_migration_recipient_sync_donor_timestamp.js
index e7db16bd505..44704e8a516 100644
--- a/jstests/replsets/tenant_migration_recipient_sync_donor_timestamp.js
+++ b/jstests/replsets/tenant_migration_recipient_sync_donor_timestamp.js
@@ -4,8 +4,13 @@
* interrupted by a primary step down, the recipient properly swaps the error code to the true code
* (like primary step down) that the donor can retry on.
*
- * @tags: [requires_fcv_49, requires_replication, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_persistence,
+ * requires_replication,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_sync_source_reconnect_delayed_secondary.js b/jstests/replsets/tenant_migration_recipient_sync_source_reconnect_delayed_secondary.js
index ad0d852d443..7fd34589f07 100644
--- a/jstests/replsets/tenant_migration_recipient_sync_source_reconnect_delayed_secondary.js
+++ b/jstests/replsets/tenant_migration_recipient_sync_source_reconnect_delayed_secondary.js
@@ -7,8 +7,13 @@
* or later, the recipient will successfully choose that donor as sync source and resume the
* migration.
*
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_sync_source_restart_donor_secondary.js b/jstests/replsets/tenant_migration_recipient_sync_source_restart_donor_secondary.js
index 6ab5d6bbf46..8cf2c415337 100644
--- a/jstests/replsets/tenant_migration_recipient_sync_source_restart_donor_secondary.js
+++ b/jstests/replsets/tenant_migration_recipient_sync_source_restart_donor_secondary.js
@@ -6,8 +6,13 @@
* Tests that if a donor host becomes available, the recipient will successfully choose it as a
* sync source and resume the migration.
*
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_recipient_ttl.js b/jstests/replsets/tenant_migration_recipient_ttl.js
index 4ca0abedb8c..e1558c85af9 100644
--- a/jstests/replsets/tenant_migration_recipient_ttl.js
+++ b/jstests/replsets/tenant_migration_recipient_ttl.js
@@ -2,8 +2,12 @@
* Tests to check whether the TTL index is being created and is functioning correctly on the tenant
* migration recipient.
*
- * @tags: [requires_fcv_49, incompatible_with_eft, incompatible_with_macos, requires_persistence,
- * incompatible_with_windows_tls]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_resume_collection_cloner_after_recipient_failover.js b/jstests/replsets/tenant_migration_resume_collection_cloner_after_recipient_failover.js
index 44777ba142a..bca4f2417d5 100644
--- a/jstests/replsets/tenant_migration_resume_collection_cloner_after_recipient_failover.js
+++ b/jstests/replsets/tenant_migration_resume_collection_cloner_after_recipient_failover.js
@@ -2,11 +2,11 @@
* Tests that in tenant migration, the recipient set can resume collection cloning from the last
* document cloned after a failover.
* @tags: [
- * requires_majority_read_concern,
- * requires_fcv_49,
- * incompatible_with_windows_tls,
* incompatible_with_eft,
- * incompatible_with_macos, requires_persistence
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
* ]
*/
diff --git a/jstests/replsets/tenant_migration_resume_collection_cloner_after_rename.js b/jstests/replsets/tenant_migration_resume_collection_cloner_after_rename.js
index 157af9aac1c..a416a4072a5 100644
--- a/jstests/replsets/tenant_migration_resume_collection_cloner_after_rename.js
+++ b/jstests/replsets/tenant_migration_resume_collection_cloner_after_rename.js
@@ -1,8 +1,13 @@
/**
* Tests that in tenant migration, the recipient set can resume collection cloning from the last
* document cloned after a failover even if the collection has been renamed on the donor.
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_resume_oplog_application.js b/jstests/replsets/tenant_migration_resume_oplog_application.js
index d32866a5ad4..470e2860448 100644
--- a/jstests/replsets/tenant_migration_resume_oplog_application.js
+++ b/jstests/replsets/tenant_migration_resume_oplog_application.js
@@ -1,8 +1,13 @@
/**
* Tests that in a tenant migration, the recipient primary will resume oplog application on
* failover.
- * @tags: [requires_majority_read_concern, requires_fcv_49, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_retry_session_migration.js b/jstests/replsets/tenant_migration_retry_session_migration.js
index 5fdae0f83c5..255625dc641 100644
--- a/jstests/replsets/tenant_migration_retry_session_migration.js
+++ b/jstests/replsets/tenant_migration_retry_session_migration.js
@@ -2,8 +2,13 @@
* Tests that retrying a failed tenant migration works even if the config.transactions on the
* recipient is not cleaned up after the failed migration.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_retryable_write_retry.js b/jstests/replsets/tenant_migration_retryable_write_retry.js
index 0b79f1d0f10..20aed6dc943 100644
--- a/jstests/replsets/tenant_migration_retryable_write_retry.js
+++ b/jstests/replsets/tenant_migration_retryable_write_retry.js
@@ -2,8 +2,13 @@
* Tests aggregation pipeline for cloning oplog chains for retryable writes on the tenant migration
* donor that committed before a certain donor Timestamp.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_retryable_write_retry_on_recipient.js b/jstests/replsets/tenant_migration_retryable_write_retry_on_recipient.js
index 52c2471242f..c02647057c1 100644
--- a/jstests/replsets/tenant_migration_retryable_write_retry_on_recipient.js
+++ b/jstests/replsets/tenant_migration_retryable_write_retry_on_recipient.js
@@ -2,8 +2,13 @@
* Tests that retryable writes made on the donor during a tenant migration can be properly retried
* on the recipient.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_ssl_configuration.js b/jstests/replsets/tenant_migration_ssl_configuration.js
index 6184d5ede0a..4525266075b 100644
--- a/jstests/replsets/tenant_migration_ssl_configuration.js
+++ b/jstests/replsets/tenant_migration_ssl_configuration.js
@@ -4,8 +4,12 @@
* Note: If a migration is started and SSL is not enabled on the recipient, we will repeatedly get
* back HostUnreachable on the donor side.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_stepup_recovery_after_abort.js b/jstests/replsets/tenant_migration_stepup_recovery_after_abort.js
index b45200396bd..4f5f4c73838 100644
--- a/jstests/replsets/tenant_migration_stepup_recovery_after_abort.js
+++ b/jstests/replsets/tenant_migration_stepup_recovery_after_abort.js
@@ -1,8 +1,13 @@
/**
* Tests the the donor correctly recovers the abort reason and the migration after stepup.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_sync_source_too_stale.js b/jstests/replsets/tenant_migration_sync_source_too_stale.js
index 4304f84c238..801d2ceb295 100644
--- a/jstests/replsets/tenant_migration_sync_source_too_stale.js
+++ b/jstests/replsets/tenant_migration_sync_source_too_stale.js
@@ -9,8 +9,13 @@
* 'delayedSecondary', it should see that it is too stale. As a result, it should retry sync source
* selection until it finds a sync source that is no longer too stale.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_test_max_bson_limit.js b/jstests/replsets/tenant_migration_test_max_bson_limit.js
index d12e4049725..02f49e3c027 100644
--- a/jstests/replsets/tenant_migration_test_max_bson_limit.js
+++ b/jstests/replsets/tenant_migration_test_max_bson_limit.js
@@ -3,8 +3,13 @@
*
* Tenant migrations are not expected to be run on servers with ephemeralForTest.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/tenant_migration_timeseries_collections.js b/jstests/replsets/tenant_migration_timeseries_collections.js
index 81477fba1cd..4cd714e2594 100644
--- a/jstests/replsets/tenant_migration_timeseries_collections.js
+++ b/jstests/replsets/tenant_migration_timeseries_collections.js
@@ -1,8 +1,13 @@
/**
* Tests tenant migration with time-series collections.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_timeseries_retryable_write_oplog_cloning.js b/jstests/replsets/tenant_migration_timeseries_retryable_write_oplog_cloning.js
index 32c25363ce5..1a7f8811124 100644
--- a/jstests/replsets/tenant_migration_timeseries_retryable_write_oplog_cloning.js
+++ b/jstests/replsets/tenant_migration_timeseries_retryable_write_oplog_cloning.js
@@ -5,8 +5,13 @@
*
* This test is based on "tenant_migration_retryable_write_retry.js".
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_timeseries_retryable_write_retry_on_recipient.js b/jstests/replsets/tenant_migration_timeseries_retryable_write_retry_on_recipient.js
index ee39bae6bd5..e00d527ad5b 100644
--- a/jstests/replsets/tenant_migration_timeseries_retryable_write_retry_on_recipient.js
+++ b/jstests/replsets/tenant_migration_timeseries_retryable_write_retry_on_recipient.js
@@ -4,8 +4,13 @@
*
* This test is based on "tenant_migration_retryable_write_retry_on_recipient.js".
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_v1_id_index.js b/jstests/replsets/tenant_migration_v1_id_index.js
index 52196aa489b..d47610c8b4d 100644
--- a/jstests/replsets/tenant_migration_v1_id_index.js
+++ b/jstests/replsets/tenant_migration_v1_id_index.js
@@ -2,8 +2,13 @@
* Tests that the index spec used for the '_id' index on the donor for a particular collection is
* maintained on the recipient after migration.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls, incompatible_with_macos]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_x509.js b/jstests/replsets/tenant_migration_x509.js
index 89072d9091a..b0df22d9fa7 100644
--- a/jstests/replsets/tenant_migration_x509.js
+++ b/jstests/replsets/tenant_migration_x509.js
@@ -2,8 +2,13 @@
* Tests that the tenant migration donor authenticates as client to recipient using the
* migration-specific x.509 certificate, and vice versa.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migrations_back_to_back.js b/jstests/replsets/tenant_migrations_back_to_back.js
index f58e931a7f9..d5d53fd7b00 100644
--- a/jstests/replsets/tenant_migrations_back_to_back.js
+++ b/jstests/replsets/tenant_migrations_back_to_back.js
@@ -4,8 +4,13 @@
* old reads will continue to be blocked by the recipient access blocker even while it acts as a
* donor for a newly initiated migration.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migrations_noop_writes.js b/jstests/replsets/tenant_migrations_noop_writes.js
index 7746ca12cd7..37a866d16b3 100644
--- a/jstests/replsets/tenant_migrations_noop_writes.js
+++ b/jstests/replsets/tenant_migrations_noop_writes.js
@@ -2,8 +2,13 @@
* Verifies that nodes can trigger noop writes to satisfy cluster time reads after a tenant
* migration.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, incompatible_with_windows_tls,
- * incompatible_with_eft, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migrations_transaction_with_create_collection.js b/jstests/replsets/tenant_migrations_transaction_with_create_collection.js
index 9be3ef5e95a..71c8f4bc7a3 100644
--- a/jstests/replsets/tenant_migrations_transaction_with_create_collection.js
+++ b/jstests/replsets/tenant_migrations_transaction_with_create_collection.js
@@ -2,8 +2,13 @@
* Tests that a migration will correctly apply a transaction that contains a 'createCollection'
* command followed by multiple inserts onto that collection.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, incompatible_with_eft,
- * incompatible_with_windows_tls, incompatible_with_macos, requires_persistence]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_macos,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/test-egress.js b/jstests/replsets/test-egress.js
index a1303fb6d70..fad2e4d62f8 100644
--- a/jstests/replsets/test-egress.js
+++ b/jstests/replsets/test-egress.js
@@ -1,5 +1,6 @@
// Use TestOnly command replSetTestEgress to connect to members.
-// @tags: [requires_fcv_47]
+// @tags: [
+// ]
(function() {
'use strict';
diff --git a/jstests/replsets/test_only_repl_commands.js b/jstests/replsets/test_only_repl_commands.js
index 4de9fbdd00e..7854ec25778 100644
--- a/jstests/replsets/test_only_repl_commands.js
+++ b/jstests/replsets/test_only_repl_commands.js
@@ -2,7 +2,6 @@
* Tests that test-only replica-set only commands are truly test-only.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
diff --git a/jstests/replsets/unpin_history_after_rollback.js b/jstests/replsets/unpin_history_after_rollback.js
index 32e68260659..6b5f10c118b 100644
--- a/jstests/replsets/unpin_history_after_rollback.js
+++ b/jstests/replsets/unpin_history_after_rollback.js
@@ -9,7 +9,10 @@
* For the purposes of this test, the write is timestamped as its replicated in the oplog. If the
* write gets rolled back, this test ensures any pinning effect it had is removed.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence]
+ * @tags: [
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/unsafe_reconfig_to_psa_set_fails.js b/jstests/replsets/unsafe_reconfig_to_psa_set_fails.js
index 28830991b47..5eec68fcac7 100644
--- a/jstests/replsets/unsafe_reconfig_to_psa_set_fails.js
+++ b/jstests/replsets/unsafe_reconfig_to_psa_set_fails.js
@@ -11,7 +11,7 @@
* add/configure the secondary to have {votes: 1, priority: 0}, to prevent it from being electable.
* The second reconfig should then increase its priority to the desired level.
*
- * @tags: [requires_fcv_50, disabled_due_to_server_58295]
+ * @tags: [disabled_due_to_server_58295]
*/
(function() {
diff --git a/jstests/replsets/use_history_after_restart.js b/jstests/replsets/use_history_after_restart.js
index f7de4d9ac60..9f97d18a2ab 100644
--- a/jstests/replsets/use_history_after_restart.js
+++ b/jstests/replsets/use_history_after_restart.js
@@ -9,7 +9,10 @@
* restart. This is a conservative behavior that is perfectly reasonable to later relax.
* 4) Create a collection `dneAtOldestTs`. This collection should not be readable across a restart.
*
- * @tags: [requires_fcv_49, requires_majority_read_concern, requires_persistence]
+ * @tags: [
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/v2_delta_oplog_entries.js b/jstests/replsets/v2_delta_oplog_entries.js
index 84c72573af5..1dab4310780 100644
--- a/jstests/replsets/v2_delta_oplog_entries.js
+++ b/jstests/replsets/v2_delta_oplog_entries.js
@@ -7,7 +7,7 @@
* secondaries have the same data. For that reason it's important that this test not drop
* intermediate collections.
*
- * @tags: [requires_fcv_47, disabled_due_to_server_58295]
+ * @tags: [disabled_due_to_server_58295]
*/
(function() {
const rst = new ReplSetTest({name: "v2_delta_oplog_entries", nodes: 2});
diff --git a/jstests/sharding/api_version_test_expression.js b/jstests/sharding/api_version_test_expression.js
index bf5dffc7b6e..5f6a7cfcb16 100644
--- a/jstests/sharding/api_version_test_expression.js
+++ b/jstests/sharding/api_version_test_expression.js
@@ -1,9 +1,8 @@
/**
* Tests for ensuring api parameters propegate when pipelines are sent to shards.
* @tags: [
- * requires_fcv_47,
- * requires_sharding,
- * uses_api_parameters,
+ * requires_sharding,
+ * uses_api_parameters,
* ]
*/
(function() {
diff --git a/jstests/sharding/cannot_unset_cluster_wide_write_concern_once_set.js b/jstests/sharding/cannot_unset_cluster_wide_write_concern_once_set.js
index c731b64a051..336c1a44a69 100644
--- a/jstests/sharding/cannot_unset_cluster_wide_write_concern_once_set.js
+++ b/jstests/sharding/cannot_unset_cluster_wide_write_concern_once_set.js
@@ -1,6 +1,7 @@
/**
* Tests that CWWC cannot be unset once it is set.
- * @tags: [requires_fcv_50]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/change_streams/change_stream_on_system_collection.js b/jstests/sharding/change_streams/change_stream_on_system_collection.js
index 7c7cb45d05b..28197cecd60 100644
--- a/jstests/sharding/change_streams/change_stream_on_system_collection.js
+++ b/jstests/sharding/change_streams/change_stream_on_system_collection.js
@@ -5,7 +5,6 @@
*
* @tags: [
* assumes_read_preference_unchanged,
- * requires_fcv_50,
* requires_majority_read_concern,
* uses_change_streams,
* ]
diff --git a/jstests/sharding/chunk_history_window.js b/jstests/sharding/chunk_history_window.js
index dc9d0b29cf8..10a45017824 100644
--- a/jstests/sharding/chunk_history_window.js
+++ b/jstests/sharding/chunk_history_window.js
@@ -2,7 +2,6 @@
* Test that config servers keep chunk history for up to minSnapshotHistoryWindowInSeconds.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/sharding/configsvr_remove_chunks.js b/jstests/sharding/configsvr_remove_chunks.js
index 9270d672c20..32bd4de8e6a 100644
--- a/jstests/sharding/configsvr_remove_chunks.js
+++ b/jstests/sharding/configsvr_remove_chunks.js
@@ -1,7 +1,6 @@
/*
* Test the _configsvrRemoveChunks internal command.
* @tags: [
- * requires_fcv_50,
* ]
*/
diff --git a/jstests/sharding/configsvr_remove_tags.js b/jstests/sharding/configsvr_remove_tags.js
index b43df3adef8..6a0b61a26fd 100644
--- a/jstests/sharding/configsvr_remove_tags.js
+++ b/jstests/sharding/configsvr_remove_tags.js
@@ -1,7 +1,6 @@
-/*
+/**
* Test the _configsvrRemoveTags internal command.
* @tags: [
- * requires_fcv_50,
* ]
*/
diff --git a/jstests/sharding/configsvr_retries_createindex_on_stale_config.js b/jstests/sharding/configsvr_retries_createindex_on_stale_config.js
index 9d48f4b6fcb..74b82be8344 100644
--- a/jstests/sharding/configsvr_retries_createindex_on_stale_config.js
+++ b/jstests/sharding/configsvr_retries_createindex_on_stale_config.js
@@ -1,6 +1,7 @@
-/*
+/**
* Verifies creating the logical sessions collection TTL index retries on stale version errors.
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/sharding/cwwc_conflict_add_shard.js b/jstests/sharding/cwwc_conflict_add_shard.js
index eb1e95f2b84..2e71a0c1a46 100644
--- a/jstests/sharding/cwwc_conflict_add_shard.js
+++ b/jstests/sharding/cwwc_conflict_add_shard.js
@@ -1,7 +1,7 @@
/**
* Tests adding shard to sharded cluster will fail if CWWC on shard disagrees with existing CWWC on
* cluster.
- * @tags: [requires_fcv_50, requires_majority_read_concern, requires_persistence]
+ * @tags: [disabled_due_to_server_58295, requires_majority_read_concern, requires_persistence]
*/
(function() {
diff --git a/jstests/sharding/ddl_ops_reported_on_current_op_command.js b/jstests/sharding/ddl_ops_reported_on_current_op_command.js
index a35615e4f23..b8c08abf625 100644
--- a/jstests/sharding/ddl_ops_reported_on_current_op_command.js
+++ b/jstests/sharding/ddl_ops_reported_on_current_op_command.js
@@ -3,7 +3,6 @@
* currentOp command.
*
* @tags: [
- * requires_fcv_50,
* featureFlagShardingFullDDLSupport,
* disabled_due_to_server_58295
* ]
@@ -149,4 +148,4 @@ let getCurrentOpOfDDL = (ddlOpThread, desc) => {
}
st.stop();
-})(); \ No newline at end of file
+})();
diff --git a/jstests/sharding/disable_resumable_range_deleter.js b/jstests/sharding/disable_resumable_range_deleter.js
index d1209c3e4f0..dbef886a321 100644
--- a/jstests/sharding/disable_resumable_range_deleter.js
+++ b/jstests/sharding/disable_resumable_range_deleter.js
@@ -2,8 +2,7 @@
* Verifies the effect of setting disableResumableRangeDeleter to true on a shard.
*
* requires_persistence - This test restarts shards and expects them to remember their data.
- * requires_fcv_47 - This test changed the behavior of disableResumableRangeDeleter from 4.4.
- * @tags: [requires_persistence, requires_fcv_47, disabled_due_to_server_58295]
+ * @tags: [requires_persistence, disabled_due_to_server_58295]
*/
(function() {
diff --git a/jstests/sharding/drop_configdb.js b/jstests/sharding/drop_configdb.js
index f2be32977a5..9534f3c117c 100644
--- a/jstests/sharding/drop_configdb.js
+++ b/jstests/sharding/drop_configdb.js
@@ -1,7 +1,8 @@
// Test that dropping the config database is completely disabled via
// mongos and via mongod, if started with --configsvr
//
-// @tags: [requires_fcv_47]
+// @tags: [
+// ]
(function() {
"use strict";
diff --git a/jstests/sharding/implicit_default_write_concern_add_shard.js b/jstests/sharding/implicit_default_write_concern_add_shard.js
index 40d4790e1b9..69749948240 100644
--- a/jstests/sharding/implicit_default_write_concern_add_shard.js
+++ b/jstests/sharding/implicit_default_write_concern_add_shard.js
@@ -1,7 +1,7 @@
/**
* Tests adding shard to sharded cluster will fail if the implicitDefaultWriteConcern is
* w:1 and CWWC is not set.
- * @tags: [requires_fcv_50, disabled_due_to_server_58295]
+ * @tags: [disabled_due_to_server_58295]
*/
(function() {
diff --git a/jstests/sharding/insert_api_version_consistency.js b/jstests/sharding/insert_api_version_consistency.js
index 5f9e15cddc0..a23d4b3e09c 100644
--- a/jstests/sharding/insert_api_version_consistency.js
+++ b/jstests/sharding/insert_api_version_consistency.js
@@ -1,6 +1,5 @@
// Test that we support all the same BSON types throughout API Version 1.
// @tags: [
-// requires_fcv_49,
// ]
const OID = new ObjectId();
diff --git a/jstests/sharding/kill_pinned_cursor.js b/jstests/sharding/kill_pinned_cursor.js
index 739411ac450..c7870e1670a 100644
--- a/jstests/sharding/kill_pinned_cursor.js
+++ b/jstests/sharding/kill_pinned_cursor.js
@@ -3,7 +3,9 @@
* should always succeed.
*
* Uses getMore to pin an open cursor.
- * @tags: [requires_getmore, requires_fcv_47]
+ * @tags: [
+ * requires_getmore,
+ * ]
*/
(function() {
diff --git a/jstests/sharding/lookup_from_config_cache_chunks.js b/jstests/sharding/lookup_from_config_cache_chunks.js
index 2b66b5504a4..c45ff8952ec 100644
--- a/jstests/sharding/lookup_from_config_cache_chunks.js
+++ b/jstests/sharding/lookup_from_config_cache_chunks.js
@@ -12,7 +12,7 @@
* {$lookup: {from: {db:<>, coll:<>},...}}
*
* @tags: [
- * requires_fcv_47, disabled_due_to_server_58295
+ * disabled_due_to_server_58295
* ]
*/
(function() {
diff --git a/jstests/sharding/mongos_not_retry_commands_in_transactions.js b/jstests/sharding/mongos_not_retry_commands_in_transactions.js
index 98a7f08f7ad..80e6d9b072f 100644
--- a/jstests/sharding/mongos_not_retry_commands_in_transactions.js
+++ b/jstests/sharding/mongos_not_retry_commands_in_transactions.js
@@ -1,6 +1,7 @@
-/*
+/**
* Tests that mongos doesn't retry commands with startTransaction=true.
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/mongos_quiesce_mode.js b/jstests/sharding/mongos_quiesce_mode.js
index 69a69153126..a6adf313d3b 100644
--- a/jstests/sharding/mongos_quiesce_mode.js
+++ b/jstests/sharding/mongos_quiesce_mode.js
@@ -4,7 +4,6 @@
* accepted. However, hello requests return a ShutdownInProgress error, so that clients can
* begin re-routing operations.
* @tags: [
- * requires_fcv_47,
* live_record_incompatible,
* ]
*/
diff --git a/jstests/sharding/move_chunk_allowMigrations.js b/jstests/sharding/move_chunk_allowMigrations.js
index 7f8d27f8174..5791cc775fb 100644
--- a/jstests/sharding/move_chunk_allowMigrations.js
+++ b/jstests/sharding/move_chunk_allowMigrations.js
@@ -5,7 +5,6 @@
* bumps the collection version.
*
* @tags: [
- * requires_fcv_47,
* does_not_support_stepdowns,
* ]
*/
diff --git a/jstests/sharding/move_chunk_critical_section_non_internal_client_abort.js b/jstests/sharding/move_chunk_critical_section_non_internal_client_abort.js
index 10efe4dc610..b79aef9abec 100644
--- a/jstests/sharding/move_chunk_critical_section_non_internal_client_abort.js
+++ b/jstests/sharding/move_chunk_critical_section_non_internal_client_abort.js
@@ -3,7 +3,6 @@
* non-internal client while in the critical section.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/sharding/multi_update_orphan_shard_key.js b/jstests/sharding/multi_update_orphan_shard_key.js
index 2b1af3856fa..e87489d3b53 100644
--- a/jstests/sharding/multi_update_orphan_shard_key.js
+++ b/jstests/sharding/multi_update_orphan_shard_key.js
@@ -1,7 +1,8 @@
/**
* Tests it isn't possible to update an orphan document's shard key. Only multi=true updates skip
* shard versioning. They are therefore the only case which skips ownership filtering.
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/non_transaction_snapshot_errors.js b/jstests/sharding/non_transaction_snapshot_errors.js
index 455096349a5..aa7f9810968 100644
--- a/jstests/sharding/non_transaction_snapshot_errors.js
+++ b/jstests/sharding/non_transaction_snapshot_errors.js
@@ -9,7 +9,6 @@
* SnapshotError, there's no point retrying.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/sharding/non_transaction_snapshot_reads_retry.js b/jstests/sharding/non_transaction_snapshot_reads_retry.js
index 8d1434aa935..f5a67da4081 100644
--- a/jstests/sharding/non_transaction_snapshot_reads_retry.js
+++ b/jstests/sharding/non_transaction_snapshot_reads_retry.js
@@ -3,7 +3,6 @@
* with a SnapshotError.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* ]
diff --git a/jstests/sharding/queries_elide_shard_filter.js b/jstests/sharding/queries_elide_shard_filter.js
index ab0fbb5ecad..c1e7625cc30 100644
--- a/jstests/sharding/queries_elide_shard_filter.js
+++ b/jstests/sharding/queries_elide_shard_filter.js
@@ -2,7 +2,8 @@
// Tests that queries in sharded collections will be properly optimized. In particular, queries
// which specify the shard key fully with an equality predicate may omit a SHARDING_FILTER stage.
//
-// @tags: [requires_fcv_49]
+// @tags: [
+// ]
(function() {
"use strict";
diff --git a/jstests/sharding/query/agg_mongos_merge.js b/jstests/sharding/query/agg_mongos_merge.js
index c9e6df44839..3a0ad322d39 100644
--- a/jstests/sharding/query/agg_mongos_merge.js
+++ b/jstests/sharding/query/agg_mongos_merge.js
@@ -7,9 +7,7 @@
* - Blocking stages in cases where 'allowDiskUse' is false, e.g. $group, $bucketAuto.
*
* @tags: [
- * requires_sharding,
* requires_profiling,
- * requires_fcv_47,
* disabled_due_to_server_58295
* ]
*/
diff --git a/jstests/sharding/query/collation_lookup.js b/jstests/sharding/query/collation_lookup.js
index 7101179acb6..0bcd1299877 100644
--- a/jstests/sharding/query/collation_lookup.js
+++ b/jstests/sharding/query/collation_lookup.js
@@ -7,7 +7,6 @@
* collection the "aggregate" command was performed on.
*
* @tags: [
- * requires_fcv_50,
* featureFlagShardedLookup,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/query/cursor_timeout.js b/jstests/sharding/query/cursor_timeout.js
index affffc76289..be40dbff8c0 100644
--- a/jstests/sharding/query/cursor_timeout.js
+++ b/jstests/sharding/query/cursor_timeout.js
@@ -15,7 +15,6 @@
// that cursors #5 and #6 are killed as a result.
//
// @tags: [
-// requires_fcv_47,
// requires_sharding,
// ]
(function() {
diff --git a/jstests/sharding/query/lookup_graph_lookup_foreign_becomes_sharded.js b/jstests/sharding/query/lookup_graph_lookup_foreign_becomes_sharded.js
index 8372e340740..322c8e735c5 100644
--- a/jstests/sharding/query/lookup_graph_lookup_foreign_becomes_sharded.js
+++ b/jstests/sharding/query/lookup_graph_lookup_foreign_becomes_sharded.js
@@ -3,7 +3,7 @@
* sharded, or if it becomes sharded mid-iteration.
*
*@tags: [
- * requires_fcv_47, requires_persistence, disabled_due_to_server_58295
+ * requires_persistence, disabled_due_to_server_58295
* ]
*/
(function() {
diff --git a/jstests/sharding/query/lookup_mongod_unaware.js b/jstests/sharding/query/lookup_mongod_unaware.js
index 56b4bf299f7..24236cf387c 100644
--- a/jstests/sharding/query/lookup_mongod_unaware.js
+++ b/jstests/sharding/query/lookup_mongod_unaware.js
@@ -7,13 +7,11 @@
* expect it to still have all the previous data.
*
* @tags: [
- * requires_fcv_47,
* requires_persistence,
* featureFlagShardedLookup,
* disabled_due_to_server_58295
* ]
*
- * TODO (SERVER-47265): Remove the requires_fcv_47 flag
*/
(function() {
"use strict";
diff --git a/jstests/sharding/query/lookup_pushdown_through_sort.js b/jstests/sharding/query/lookup_pushdown_through_sort.js
index 2b33df100de..f95a0810eea 100644
--- a/jstests/sharding/query/lookup_pushdown_through_sort.js
+++ b/jstests/sharding/query/lookup_pushdown_through_sort.js
@@ -2,7 +2,8 @@
* Tests for resharding collection cloner's aggregation pipeline to ensure that $lookup on
* config.cache.chunks is pushed down to shards to execute as part of the split pipeline.
*
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/query/pipeline_length_limit.js b/jstests/sharding/query/pipeline_length_limit.js
index 3b88c77d46d..64e990bae6b 100644
--- a/jstests/sharding/query/pipeline_length_limit.js
+++ b/jstests/sharding/query/pipeline_length_limit.js
@@ -1,6 +1,7 @@
/**
* Confirms that the limit on number of aggregragation pipeline stages is respected.
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/query/view_on_shard_rewrite.js b/jstests/sharding/query/view_on_shard_rewrite.js
index b197e4040ac..bb30fa274dd 100644
--- a/jstests/sharding/query/view_on_shard_rewrite.js
+++ b/jstests/sharding/query/view_on_shard_rewrite.js
@@ -13,7 +13,6 @@
* without having to round-trip back to mongos.
*
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/sharding/read_write_concern_defaults_commands_api.js b/jstests/sharding/read_write_concern_defaults_commands_api.js
index 15829ccfc15..f73bfea8652 100644
--- a/jstests/sharding/read_write_concern_defaults_commands_api.js
+++ b/jstests/sharding/read_write_concern_defaults_commands_api.js
@@ -1,6 +1,7 @@
// Tests the basic API of the getDefaultRWConcern and setDefaultRWConcern commands and their
// associated persisted state against different topologies.
-// @tags: [requires_fcv_50]
+// @tags: [
+// ]
(function() {
"use strict";
diff --git a/jstests/sharding/refine_shardkey_config_cache_refresh.js b/jstests/sharding/refine_shardkey_config_cache_refresh.js
index 5418215c4cc..9f51309490d 100644
--- a/jstests/sharding/refine_shardkey_config_cache_refresh.js
+++ b/jstests/sharding/refine_shardkey_config_cache_refresh.js
@@ -4,7 +4,7 @@
* config.cache collections by the ShardServerCatalogCacheLoader after a refine shard key and makes
* sure that the shard will be able to eventually reach the valid state on config.cache.
*
- * @tags: [requires_fcv_47, disabled_due_to_server_58295]
+ * @tags: [disabled_due_to_server_58295]
*/
load("jstests/libs/uuid_util.js");
diff --git a/jstests/sharding/remove_shard_near_doc_size_limit.js b/jstests/sharding/remove_shard_near_doc_size_limit.js
index 438b153ed67..658d563e2cf 100644
--- a/jstests/sharding/remove_shard_near_doc_size_limit.js
+++ b/jstests/sharding/remove_shard_near_doc_size_limit.js
@@ -1,13 +1,12 @@
-/*
+/**
* This test reproduces the error reported in HELP-22995. It creates a jumbo chunk with documents
* that are close to the 16MB document size limit to force the batching code in move chunk to
* consider adding them together in a batch. It ensures that the proper document size is considered
* and that we can still migrate when calling removeShard.
*
* @tags: [
- * requires_fcv_44,
- * multiversion_incompatible,
- * does_not_support_stepdowns,
+ * does_not_support_stepdowns,
+ * multiversion_incompatible,
* ]
*/
diff --git a/jstests/sharding/rename_sharded.js b/jstests/sharding/rename_sharded.js
index 05bcacbeb6b..703b6e188d0 100644
--- a/jstests/sharding/rename_sharded.js
+++ b/jstests/sharding/rename_sharded.js
@@ -1,7 +1,7 @@
/**
* Test all the possible succeed/fail cases around sharded collections renaming.
*
- * @tags: [requires_fcv_49, disabled_due_to_server_58295]
+ * @tags: [disabled_due_to_server_58295]
*/
load("jstests/libs/uuid_util.js");
diff --git a/jstests/sharding/reshard_collection_basic.js b/jstests/sharding/reshard_collection_basic.js
index 660403f7232..73adfe5d151 100644
--- a/jstests/sharding/reshard_collection_basic.js
+++ b/jstests/sharding/reshard_collection_basic.js
@@ -1,7 +1,6 @@
//
// Basic tests for reshardCollection.
// @tags: [
-// requires_fcv_47,
// uses_atclustertime,
// ]
//
diff --git a/jstests/sharding/reshard_collection_existing_sk_index_not_duplicated.js b/jstests/sharding/reshard_collection_existing_sk_index_not_duplicated.js
index f3a1260d2d5..66c4a3e7245 100644
--- a/jstests/sharding/reshard_collection_existing_sk_index_not_duplicated.js
+++ b/jstests/sharding/reshard_collection_existing_sk_index_not_duplicated.js
@@ -3,7 +3,6 @@
// a new index.
//
// @tags: [
-// requires_fcv_49,
// uses_atclustertime,
// ]
//
diff --git a/jstests/sharding/reshard_collection_failover_shutdown_basic.js b/jstests/sharding/reshard_collection_failover_shutdown_basic.js
index 46e0159bf67..cea2a74a514 100644
--- a/jstests/sharding/reshard_collection_failover_shutdown_basic.js
+++ b/jstests/sharding/reshard_collection_failover_shutdown_basic.js
@@ -5,7 +5,6 @@
* TODO SERVER-58343: re-enable this test.
* @tags: [
* __TEMPORARILY_DISABLED__,
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/reshard_collection_joins_existing_operation.js b/jstests/sharding/reshard_collection_joins_existing_operation.js
index be74ff23ac4..a25d9348d63 100644
--- a/jstests/sharding/reshard_collection_joins_existing_operation.js
+++ b/jstests/sharding/reshard_collection_joins_existing_operation.js
@@ -8,7 +8,6 @@
* primary shard for the database.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_abort_command.js b/jstests/sharding/resharding_abort_command.js
index d619a258742..b0e38e65c2a 100644
--- a/jstests/sharding/resharding_abort_command.js
+++ b/jstests/sharding/resharding_abort_command.js
@@ -2,7 +2,7 @@
* Test to make sure that the abort command interrupts a resharding operation that has not yet
* persisted a decision.
*
- * @tags: [requires_fcv_49, uses_atclustertime, disabled_due_to_server_58295]
+ * @tags: [uses_atclustertime, disabled_due_to_server_58295]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/resharding_abort_in_preparing_to_donate.js b/jstests/sharding/resharding_abort_in_preparing_to_donate.js
index a10e617a295..34bd345a991 100644
--- a/jstests/sharding/resharding_abort_in_preparing_to_donate.js
+++ b/jstests/sharding/resharding_abort_in_preparing_to_donate.js
@@ -4,7 +4,6 @@
* machine creation. See SERVER-56936 for more details.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_array_shard_key.js b/jstests/sharding/resharding_array_shard_key.js
index c02cc22ad0e..95f6fd678fa 100644
--- a/jstests/sharding/resharding_array_shard_key.js
+++ b/jstests/sharding/resharding_array_shard_key.js
@@ -2,7 +2,9 @@
* Tests that during resharding, inserts and updates that specify an array for the new shard key
* fail.
*
- * @tags: [requires_fcv_49, uses_atclustertime]
+ * @tags: [
+ * uses_atclustertime,
+ * ]
*/
(function() {
diff --git a/jstests/sharding/resharding_change_stream_internal_ops.js b/jstests/sharding/resharding_change_stream_internal_ops.js
index db214f55a0d..218bdaf3830 100644
--- a/jstests/sharding/resharding_change_stream_internal_ops.js
+++ b/jstests/sharding/resharding_change_stream_internal_ops.js
@@ -6,7 +6,6 @@
// @tags: [
// requires_majority_read_concern,
// uses_change_streams,
-// requires_fcv_49,
// uses_atclustertime,
// disabled_due_to_server_58295
// ]
diff --git a/jstests/sharding/resharding_change_streams_resumability.js b/jstests/sharding/resharding_change_streams_resumability.js
index 3f20e12aef4..29e92c5b779 100644
--- a/jstests/sharding/resharding_change_streams_resumability.js
+++ b/jstests/sharding/resharding_change_streams_resumability.js
@@ -3,8 +3,6 @@
//
// @tags: [
// requires_majority_read_concern,
-// uses_change_streams,
-// requires_fcv_49,
// uses_atclustertime,
// disabled_due_to_server_58295
// ]
diff --git a/jstests/sharding/resharding_clones_duplicate_key.js b/jstests/sharding/resharding_clones_duplicate_key.js
index dba7c1212d1..3f81b8eeb83 100644
--- a/jstests/sharding/resharding_clones_duplicate_key.js
+++ b/jstests/sharding/resharding_clones_duplicate_key.js
@@ -3,7 +3,6 @@
* recipient.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_clones_initial_data.js b/jstests/sharding/resharding_clones_initial_data.js
index 9e87ef644c6..7550c10b550 100644
--- a/jstests/sharding/resharding_clones_initial_data.js
+++ b/jstests/sharding/resharding_clones_initial_data.js
@@ -2,7 +2,6 @@
* Tests the cloning portion of a resharding operation as part of the reshardCollection command.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/resharding_collection_cloner.js b/jstests/sharding/resharding_collection_cloner.js
index e6f79b54159..a603113748f 100644
--- a/jstests/sharding/resharding_collection_cloner.js
+++ b/jstests/sharding/resharding_collection_cloner.js
@@ -2,7 +2,6 @@
* Tests the cloning portion of a resharding operation in isolation.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/resharding_collection_cloner_resuming.js b/jstests/sharding/resharding_collection_cloner_resuming.js
index 96c33b97468..2825e04b17e 100644
--- a/jstests/sharding/resharding_collection_cloner_resuming.js
+++ b/jstests/sharding/resharding_collection_cloner_resuming.js
@@ -2,7 +2,6 @@
* Tests the resuming behavior of resharding's collection cloning.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/resharding_commit.js b/jstests/sharding/resharding_commit.js
index 29174c44636..c3f276728f1 100644
--- a/jstests/sharding/resharding_commit.js
+++ b/jstests/sharding/resharding_commit.js
@@ -1,7 +1,7 @@
/**
* Test the commitReshardCollection command.
*
- * @tags: [requires_fcv_49, uses_atclustertime, disabled_due_to_server_58295]
+ * @tags: [uses_atclustertime, disabled_due_to_server_58295]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/resharding_critical_section_timeout.js b/jstests/sharding/resharding_critical_section_timeout.js
index 5370f24a7d5..01a96011220 100644
--- a/jstests/sharding/resharding_critical_section_timeout.js
+++ b/jstests/sharding/resharding_critical_section_timeout.js
@@ -2,7 +2,6 @@
* Verifies that resharding honors the critical section timeout.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_disallow_drop.js b/jstests/sharding/resharding_disallow_drop.js
index be19c511eaf..37dbca81c6c 100644
--- a/jstests/sharding/resharding_disallow_drop.js
+++ b/jstests/sharding/resharding_disallow_drop.js
@@ -2,7 +2,6 @@
* Tests that a drop can't happen while resharding is in progress.
*
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/sharding/resharding_disallow_writes.js b/jstests/sharding/resharding_disallow_writes.js
index f549a4fa828..22f502a949c 100644
--- a/jstests/sharding/resharding_disallow_writes.js
+++ b/jstests/sharding/resharding_disallow_writes.js
@@ -2,7 +2,6 @@
* Tests that writes are disallowed while in kCommitted.
*
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/sharding/resharding_fails_on_nonempty_stash.js b/jstests/sharding/resharding_fails_on_nonempty_stash.js
index 23b5afe146f..f18a5a36f98 100644
--- a/jstests/sharding/resharding_fails_on_nonempty_stash.js
+++ b/jstests/sharding/resharding_fails_on_nonempty_stash.js
@@ -3,7 +3,6 @@
* recipient.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_feature_flagging.js b/jstests/sharding/resharding_feature_flagging.js
index 9b48021d526..6e964a2237c 100644
--- a/jstests/sharding/resharding_feature_flagging.js
+++ b/jstests/sharding/resharding_feature_flagging.js
@@ -2,7 +2,6 @@
* Tests the resharding feature cannot be used when the feature flag is off.
*
* @tags: [
- * requires_fcv_49,
* ]
*/
(function() {
diff --git a/jstests/sharding/resharding_indexBuilds.js b/jstests/sharding/resharding_indexBuilds.js
index d37da22c271..704e94c202e 100644
--- a/jstests/sharding/resharding_indexBuilds.js
+++ b/jstests/sharding/resharding_indexBuilds.js
@@ -3,7 +3,6 @@
* is an ongoing index build.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/resharding_large_number_of_initial_chunks.js b/jstests/sharding/resharding_large_number_of_initial_chunks.js
index 12c0fe58a82..8c362c9fdf1 100644
--- a/jstests/sharding/resharding_large_number_of_initial_chunks.js
+++ b/jstests/sharding/resharding_large_number_of_initial_chunks.js
@@ -3,7 +3,6 @@
* of chunks.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* resource_intensive,
* exclude_from_large_txns
diff --git a/jstests/sharding/resharding_metrics.js b/jstests/sharding/resharding_metrics.js
index 0d7359ca635..49ef5b10fcb 100644
--- a/jstests/sharding/resharding_metrics.js
+++ b/jstests/sharding/resharding_metrics.js
@@ -2,7 +2,6 @@
* Tests the basic functionality of the resharding metrics section in server status.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/resharding_metrics_increment.js b/jstests/sharding/resharding_metrics_increment.js
index 065043b5f03..506445ab8b5 100644
--- a/jstests/sharding/resharding_metrics_increment.js
+++ b/jstests/sharding/resharding_metrics_increment.js
@@ -3,7 +3,6 @@
* responds to statistical increments in an expected way.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_min_fetch_ts_with_txn.js b/jstests/sharding/resharding_min_fetch_ts_with_txn.js
index 6d4ffb05ffe..39ddaeb201a 100644
--- a/jstests/sharding/resharding_min_fetch_ts_with_txn.js
+++ b/jstests/sharding/resharding_min_fetch_ts_with_txn.js
@@ -3,7 +3,7 @@
* begins, it will select a cloneTimestamp that is greater than the operation time of those
* transactions when they commit.
*
- * @tags: [requires_fcv_49, uses_atclustertime, disabled_due_to_server_58295]
+ * @tags: [uses_atclustertime, disabled_due_to_server_58295]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/resharding_on_existing_key_is_noop.js b/jstests/sharding/resharding_on_existing_key_is_noop.js
index dcc3f68178e..573773b5a5d 100644
--- a/jstests/sharding/resharding_on_existing_key_is_noop.js
+++ b/jstests/sharding/resharding_on_existing_key_is_noop.js
@@ -3,7 +3,9 @@
* collection's existing shard key is a noop (which can be done by confirming the collection's UUID
* remains unchanged after the operation).
*
- * @tags: [uses_atclustertime, requires_fcv_49,]
+ * @tags: [
+ * uses_atclustertime,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/resharding_oplog_sync_agg_assert_min_oplog.js b/jstests/sharding/resharding_oplog_sync_agg_assert_min_oplog.js
index cd866ab8530..e9e8c59b4a7 100644
--- a/jstests/sharding/resharding_oplog_sync_agg_assert_min_oplog.js
+++ b/jstests/sharding/resharding_oplog_sync_agg_assert_min_oplog.js
@@ -2,7 +2,6 @@
* Tests that the resharding operation will fail if a recipient shard would have missed oplog
* entries from a donor shard.
* @tags: [
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/sharding/resharding_oplog_sync_agg_resume_token.js b/jstests/sharding/resharding_oplog_sync_agg_resume_token.js
index 3598fb0b1ab..da85a2826af 100644
--- a/jstests/sharding/resharding_oplog_sync_agg_resume_token.js
+++ b/jstests/sharding/resharding_oplog_sync_agg_resume_token.js
@@ -3,7 +3,6 @@
* $_requestReshardingResumeToken is specified for an aggregate command.
*
* @tags: [
- * requires_fcv_47,
* ]
*/
(function() {
diff --git a/jstests/sharding/resharding_prohibited_commands.js b/jstests/sharding/resharding_prohibited_commands.js
index 9167db7befb..88affeded96 100644
--- a/jstests/sharding/resharding_prohibited_commands.js
+++ b/jstests/sharding/resharding_prohibited_commands.js
@@ -4,7 +4,6 @@
* operations are prohibited.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/resharding_read_from_secondary.js b/jstests/sharding/resharding_read_from_secondary.js
index c898e7acb60..c24e13fa831 100644
--- a/jstests/sharding/resharding_read_from_secondary.js
+++ b/jstests/sharding/resharding_read_from_secondary.js
@@ -3,7 +3,6 @@
* or insert state documents for resharding.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_replicate_updates_as_insert_delete.js b/jstests/sharding/resharding_replicate_updates_as_insert_delete.js
index 3756597f082..5846246c1b9 100644
--- a/jstests/sharding/resharding_replicate_updates_as_insert_delete.js
+++ b/jstests/sharding/resharding_replicate_updates_as_insert_delete.js
@@ -2,7 +2,6 @@
// Test to verify that updates that would change the resharding key value are replicated as an
// insert, delete pair.
// @tags: [
-// requires_fcv_47,
// uses_atclustertime,
// ]
//
diff --git a/jstests/sharding/resharding_retryable_writes.js b/jstests/sharding/resharding_retryable_writes.js
index c7f99c6a679..522a41ee015 100644
--- a/jstests/sharding/resharding_retryable_writes.js
+++ b/jstests/sharding/resharding_retryable_writes.js
@@ -4,7 +4,7 @@
* txnCloners were not started until after waiting for reshardingMinimumOperationDurationMillis to
* elapse.
*
- * @tags: [requires_fcv_49, uses_atclustertime, disabled_due_to_server_58295]
+ * @tags: [uses_atclustertime, disabled_due_to_server_58295]
*/
(function() {
@@ -125,4 +125,4 @@ function runTest(minimumOperationDurationMS, shouldReshardInPlace) {
const minimumOperationDurationMS = 30000;
runTest(minimumOperationDurationMS, true);
runTest(minimumOperationDurationMS, false);
-})(); \ No newline at end of file
+})();
diff --git a/jstests/sharding/resharding_size_estimate.js b/jstests/sharding/resharding_size_estimate.js
index ef03f7af43b..13b43a3d237 100644
--- a/jstests/sharding/resharding_size_estimate.js
+++ b/jstests/sharding/resharding_size_estimate.js
@@ -2,7 +2,6 @@
* Tests the basic functionality of the estimated size used for auto commit calculation.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/resharding_txn_cloner.js b/jstests/sharding/resharding_txn_cloner.js
index d4a76b27fc2..cf7ce018d7f 100644
--- a/jstests/sharding/resharding_txn_cloner.js
+++ b/jstests/sharding/resharding_txn_cloner.js
@@ -3,7 +3,6 @@
* shards.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_verify_primary_catalog_consistency.js b/jstests/sharding/resharding_verify_primary_catalog_consistency.js
index 9d9c864b8c0..152a94daca9 100644
--- a/jstests/sharding/resharding_verify_primary_catalog_consistency.js
+++ b/jstests/sharding/resharding_verify_primary_catalog_consistency.js
@@ -3,7 +3,6 @@
* operation has completed.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/resharding_write_when_temp_ns_routing_info_unknown.js b/jstests/sharding/resharding_write_when_temp_ns_routing_info_unknown.js
index 38e2155eb5e..eaae0da6acc 100644
--- a/jstests/sharding/resharding_write_when_temp_ns_routing_info_unknown.js
+++ b/jstests/sharding/resharding_write_when_temp_ns_routing_info_unknown.js
@@ -3,9 +3,8 @@
* information for the associated temporary resharding collection isn't currently known.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
- * uses_transactions
+ * uses_transactions,
* ]
*/
(function() {
diff --git a/jstests/sharding/safe_secondary_reads_causal_consistency.js b/jstests/sharding/safe_secondary_reads_causal_consistency.js
index f192c436bb2..60726008fe5 100644
--- a/jstests/sharding/safe_secondary_reads_causal_consistency.js
+++ b/jstests/sharding/safe_secondary_reads_causal_consistency.js
@@ -2,7 +2,8 @@
* Tests that donor shard's secondaries correctly
* block reads and refresh metadata cache when migration occurs.
*
- * @tags: [requires_fcv_47]
+ * @tags: [
+ * ]
*/
(function() {
diff --git a/jstests/sharding/sessions_collection_auto_healing.js b/jstests/sharding/sessions_collection_auto_healing.js
index 6b3eb57b449..9d80d0dcc14 100644
--- a/jstests/sharding/sessions_collection_auto_healing.js
+++ b/jstests/sharding/sessions_collection_auto_healing.js
@@ -1,5 +1,6 @@
/**
- * @tags: [requires_fcv_49]
+ * @tags: [
+ * ]
*/
load('jstests/libs/sessions_collection.js');
diff --git a/jstests/sharding/sharding_non_transaction_snapshot_aggregate.js b/jstests/sharding/sharding_non_transaction_snapshot_aggregate.js
index 94116feca2c..137cb5f8151 100644
--- a/jstests/sharding/sharding_non_transaction_snapshot_aggregate.js
+++ b/jstests/sharding/sharding_non_transaction_snapshot_aggregate.js
@@ -3,7 +3,6 @@
* transactions.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* disabled_due_to_server_58295
diff --git a/jstests/sharding/sharding_non_transaction_snapshot_read.js b/jstests/sharding/sharding_non_transaction_snapshot_read.js
index 3122f218454..06f65ac1ef5 100644
--- a/jstests/sharding/sharding_non_transaction_snapshot_read.js
+++ b/jstests/sharding/sharding_non_transaction_snapshot_read.js
@@ -2,7 +2,6 @@
* Tests readConcern level snapshot outside of transactions.
*
* @tags: [
- * requires_fcv_47,
* requires_majority_read_concern,
* requires_persistence,
* disabled_due_to_server_58295
diff --git a/jstests/sharding/snapshot_reads_target_at_point_in_time.js b/jstests/sharding/snapshot_reads_target_at_point_in_time.js
index 65dd8fed5c3..23d421ce822 100644
--- a/jstests/sharding/snapshot_reads_target_at_point_in_time.js
+++ b/jstests/sharding/snapshot_reads_target_at_point_in_time.js
@@ -1,7 +1,6 @@
// Verifies mongos uses a versioned routing table to target subsequent requests for snapshot reads.
//
// @tags: [
-// requires_fcv_47,
// requires_persistence,
// requires_sharding,
// uses_multi_shard_transaction,
diff --git a/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js b/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js
index 518df60e5bb..262a57f3b75 100644
--- a/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js
+++ b/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js
@@ -4,11 +4,9 @@
* have it's data after a restart.
*
* @tags: [
- * requires_fcv_47,
- * requires_persistence,
+ * requires_persistence,
* ]
*
- * TODO (SERVER-47265): Remove the requires_fcv_47 flag
*/
(function() {
'use strict';
diff --git a/jstests/sharding/tenant_migration_disallowed_in_sharded_cluster.js b/jstests/sharding/tenant_migration_disallowed_in_sharded_cluster.js
index d6edfb5ea82..7b5e3922853 100644
--- a/jstests/sharding/tenant_migration_disallowed_in_sharded_cluster.js
+++ b/jstests/sharding/tenant_migration_disallowed_in_sharded_cluster.js
@@ -1,8 +1,12 @@
/**
* Tests that tenant migration commands cannot be run on sharded clusters.
*
- * @tags: [requires_fcv_47, requires_majority_read_concern, requires_persistence,
- * incompatible_with_eft, incompatible_with_windows_tls]
+ * @tags: [
+ * incompatible_with_eft,
+ * incompatible_with_windows_tls,
+ * requires_majority_read_concern,
+ * requires_persistence,
+ * ]
*/
(function() {
diff --git a/jstests/sharding/test_resharding_test_fixture.js b/jstests/sharding/test_resharding_test_fixture.js
index 753e5c7f6fe..4607e16abb8 100644
--- a/jstests/sharding/test_resharding_test_fixture.js
+++ b/jstests/sharding/test_resharding_test_fixture.js
@@ -4,7 +4,6 @@
* Verifies that the reshardCollection command is run and kept suspended in the "applying" state.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* disabled_due_to_server_58295
* ]
diff --git a/jstests/sharding/test_resharding_test_fixture_detects_unowned_docs.js b/jstests/sharding/test_resharding_test_fixture_detects_unowned_docs.js
index 01f7fd7e44b..ed9a1f29a40 100644
--- a/jstests/sharding/test_resharding_test_fixture_detects_unowned_docs.js
+++ b/jstests/sharding/test_resharding_test_fixture_detects_unowned_docs.js
@@ -4,7 +4,6 @@
* Verifies that an exception is thrown if a recipient shard has a document it doesn't actually own.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/test_resharding_test_fixture_unexpected_failure_returns.js b/jstests/sharding/test_resharding_test_fixture_unexpected_failure_returns.js
index 93ad4c54143..ebde2df92ef 100644
--- a/jstests/sharding/test_resharding_test_fixture_unexpected_failure_returns.js
+++ b/jstests/sharding/test_resharding_test_fixture_unexpected_failure_returns.js
@@ -5,7 +5,6 @@
* `withReshardingInBackground` expects a success.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/test_resharding_test_fixture_using_with_syntax.js b/jstests/sharding/test_resharding_test_fixture_using_with_syntax.js
index e42fe9565da..9a028bb8825 100644
--- a/jstests/sharding/test_resharding_test_fixture_using_with_syntax.js
+++ b/jstests/sharding/test_resharding_test_fixture_using_with_syntax.js
@@ -5,7 +5,6 @@
* to abort.
*
* @tags: [
- * requires_fcv_49,
* uses_atclustertime,
* ]
*/
diff --git a/jstests/sharding/timeseries_cluster_collstats.js b/jstests/sharding/timeseries_cluster_collstats.js
index 815277d93f8..ba58ac114a2 100644
--- a/jstests/sharding/timeseries_cluster_collstats.js
+++ b/jstests/sharding/timeseries_cluster_collstats.js
@@ -21,7 +21,6 @@
* }
*
* @tags: [
- * requires_fcv_50,
* ]
*/
diff --git a/jstests/sharding/timeseries_shard_collection.js b/jstests/sharding/timeseries_shard_collection.js
index 67a1a2d4809..dd36e353701 100644
--- a/jstests/sharding/timeseries_shard_collection.js
+++ b/jstests/sharding/timeseries_shard_collection.js
@@ -2,7 +2,6 @@
* Tests that time-series collections can be sharded with different configurations.
*
* @tags: [
- * requires_fcv_49,
* disabled_due_to_server_58295
* ]
*/
diff --git a/jstests/sharding/txn_two_phase_commit_write_concern.js b/jstests/sharding/txn_two_phase_commit_write_concern.js
index d4e41b60701..9e2ca3a35b2 100644
--- a/jstests/sharding/txn_two_phase_commit_write_concern.js
+++ b/jstests/sharding/txn_two_phase_commit_write_concern.js
@@ -1,7 +1,7 @@
-/*
+/**
* Tests that coordinateCommitTransaction returns the decision once the decision has been written
* with the client's writeConcern.
- * @tags: [uses_transactions, uses_multi_shard_transaction, requires_fcv_47,
+ * @tags: [uses_transactions, uses_multi_shard_transaction,
* disabled_due_to_server_58295]
*/
(function() {
diff --git a/jstests/sharding/write_concern_basic.js b/jstests/sharding/write_concern_basic.js
index 164c92b00ce..b9b58cbf738 100644
--- a/jstests/sharding/write_concern_basic.js
+++ b/jstests/sharding/write_concern_basic.js
@@ -1,5 +1,6 @@
// Test that certain basic commands preserve write concern errors.
-// @tags: [ requires_fcv_49, ]
+// @tags: [
+// ]
//
(function() {
diff --git a/src/mongo/db/catalog/collection_impl.cpp b/src/mongo/db/catalog/collection_impl.cpp
index 423cb137edc..5a54dd455e4 100644
--- a/src/mongo/db/catalog/collection_impl.cpp
+++ b/src/mongo/db/catalog/collection_impl.cpp
@@ -863,7 +863,7 @@ void CollectionImpl::_cappedDeleteAsNeeded(OperationContext* opCtx,
}
bool useOldCappedDeleteBehaviour = serverGlobalParams.featureCompatibility.isLessThan(
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
if (!useOldCappedDeleteBehaviour && !opCtx->isEnforcingConstraints()) {
// With new capped delete behavior, secondaries only delete from capped collections via
diff --git a/src/mongo/db/commands/feature_compatibility_version_parser.cpp b/src/mongo/db/commands/feature_compatibility_version_parser.cpp
index 12f2fb3132d..087755d9186 100644
--- a/src/mongo/db/commands/feature_compatibility_version_parser.cpp
+++ b/src/mongo/db/commands/feature_compatibility_version_parser.cpp
@@ -69,8 +69,12 @@ FeatureCompatibilityParams::Version FeatureCompatibilityVersionParser::parseVers
FeatureCompatibilityParams::Version FeatureCompatibilityVersionParser::parseVersionForFeatureFlags(
StringData versionString) {
+ if (versionString == kVersion51) {
+ return FeatureCompatibilityParams::Version::kVersion51;
+ }
+
if (versionString == kVersion50) {
- return FeatureCompatibilityParams::Version::kVersion50;
+ return FeatureCompatibilityParams::Version::kFullyDowngradedTo50;
}
if (versionString == kVersion49) {
@@ -111,7 +115,11 @@ StringData FeatureCompatibilityVersionParser::serializeVersion(
StringData FeatureCompatibilityVersionParser::serializeVersionForFeatureFlags(
FeatureCompatibilityParams::Version version) {
- if (version == FeatureCompatibilityParams::Version::kVersion50) {
+ if (version == FeatureCompatibilityParams::Version::kVersion51) {
+ return kVersion51;
+ }
+
+ if (version == FeatureCompatibilityParams::Version::kFullyDowngradedTo50) {
return kVersion50;
}
diff --git a/src/mongo/db/commands/feature_compatibility_version_parser.h b/src/mongo/db/commands/feature_compatibility_version_parser.h
index e54e16a71f9..b20cb3a1b01 100644
--- a/src/mongo/db/commands/feature_compatibility_version_parser.h
+++ b/src/mongo/db/commands/feature_compatibility_version_parser.h
@@ -41,41 +41,29 @@ using FeatureCompatibilityParams = ServerGlobalParams::FeatureCompatibility;
*/
class FeatureCompatibilityVersionParser {
public:
- static constexpr StringData kVersion44 = "4.4"_sd;
- static constexpr StringData kVersion47 = "4.7"_sd;
- static constexpr StringData kVersion48 = "4.8"_sd;
- static constexpr StringData kVersionDowngradingFrom47To44 = "downgrading from 4.7 to 4.4"_sd;
- static constexpr StringData kVersionDowngradingFrom48To44 = "downgrading from 4.8 to 4.4"_sd;
- static constexpr StringData kVersionDowngradingFrom48To47 = "downgrading from 4.8 to 4.7"_sd;
- static constexpr StringData kVersionUpgradingFrom44To47 = "upgrading from 4.4 to 4.7"_sd;
- static constexpr StringData kVersionUpgradingFrom47To48 = "upgrading from 4.7 to 4.8"_sd;
- static constexpr StringData kVersionUpgradingFrom44To48 = "upgrading from 4.4 to 4.8"_sd;
- static constexpr StringData kVersionDowngradingFrom49To44 = "downgrading from 4.9 to 4.4"_sd;
- static constexpr StringData kVersionUpgradingFrom44To49 = "upgrading from 4.4 to 4.9"_sd;
- static constexpr StringData kVersionDowngradingFrom49To48 = "downgrading from 4.9 to 4.8"_sd;
- static constexpr StringData kVersionUpgradingFrom48To49 = "upgrading from 4.8 to 4.9"_sd;
- static constexpr StringData kVersion49 = "4.9"_sd;
- static constexpr StringData kVersionDowngradingFrom50To44 = "downgrading from 5.0 to 4.4"_sd;
- static constexpr StringData kVersionUpgradingFrom44To50 = "upgrading from 4.4 to 5.0"_sd;
- static constexpr StringData kVersionDowngradingFrom50To49 = "downgrading from 5.0 to 4.9"_sd;
- static constexpr StringData kVersionUpgradingFrom49To50 = "upgrading from 4.9 to 5.0"_sd;
+ static constexpr StringData kVersion44 = "4.4"_sd; // Remove once old feature flags are deleted
+ static constexpr StringData kVersion47 = "4.7"_sd; // Remove once old feature flags are deleted
+ static constexpr StringData kVersion48 = "4.8"_sd; // Remove once old feature flags are deleted
+ static constexpr StringData kVersion49 = "4.9"_sd; // Remove once old feature flags are deleted
static constexpr StringData kVersion50 = "5.0"_sd;
+ static constexpr StringData kVersion51 = "5.1"_sd;
+ static constexpr StringData kVersionDowngradingFrom51To50 = "downgrading from 5.1 to 5.0"_sd;
+ static constexpr StringData kVersionUpgradingFrom50To51 = "upgrading from 5.0 to 5.1"_sd;
static constexpr StringData kVersionUnset = "Unset"_sd;
static constexpr StringData kParameterName = "featureCompatibilityVersion"_sd;
- static constexpr StringData kLastLTS = kVersion44;
- static constexpr StringData kLastContinuous = kVersion49;
- static constexpr StringData kLatest = kVersion50;
- static constexpr StringData kUpgradingFromLastLTSToLatest = kVersionUpgradingFrom44To50;
- static constexpr StringData kUpgradingFromLastContinuousToLatest = kVersionUpgradingFrom49To50;
+ static constexpr StringData kLastLTS = kVersion50;
+ static constexpr StringData kLastContinuous = kVersion50;
+ static constexpr StringData kLatest = kVersion51;
+ static constexpr StringData kUpgradingFromLastLTSToLatest = kVersionUpgradingFrom50To51;
+ static constexpr StringData kUpgradingFromLastContinuousToLatest = kVersionUpgradingFrom50To51;
// kVersionUpgradingFromLastLTSToLastContinuous should assigned kVersionUnset when kLastLTS and
// kLastContinuous are equal.
- static constexpr StringData kVersionUpgradingFromLastLTSToLastContinuous =
- kVersionUpgradingFrom44To49;
- static constexpr StringData kDowngradingFromLatestToLastLTS = kVersionDowngradingFrom50To44;
+ static constexpr StringData kVersionUpgradingFromLastLTSToLastContinuous = kVersionUnset;
+ static constexpr StringData kDowngradingFromLatestToLastLTS = kVersionDowngradingFrom51To50;
static constexpr StringData kDowngradingFromLatestToLastContinuous =
- kVersionDowngradingFrom50To49;
+ kVersionDowngradingFrom51To50;
// Used to verify that FCV values in 'admin.system.version' are valid and equal to one of
// { lastLTS, lastContinuous, latest }.
@@ -106,7 +94,7 @@ public:
* Useful for message logging.
*/
static StringData toString(FeatureCompatibilityParams::Version version) {
- if (version == FeatureCompatibilityParams::Version::kUnsetDefault44Behavior) {
+ if (version == FeatureCompatibilityParams::Version::kUnsetDefault50Behavior) {
return kVersionUnset;
} else if (version == FeatureCompatibilityParams::kLastLTS) {
return kLastLTS;
diff --git a/src/mongo/db/commands/find_and_modify.cpp b/src/mongo/db/commands/find_and_modify.cpp
index b7066244fcc..9222576fbe7 100644
--- a/src/mongo/db/commands/find_and_modify.cpp
+++ b/src/mongo/db/commands/find_and_modify.cpp
@@ -488,7 +488,7 @@ write_ops::FindAndModifyCommandReply CmdFindAndModify::Invocation::writeConflict
if (updateResult.containsDotsAndDollarsField &&
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50)) {
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50)) {
// If it's an upsert, increment 'inserts' metric, otherwise increment 'updates'.
dotsAndDollarsFieldsCounters.incrementForUpsert(!updateResult.upsertedId.isEmpty());
}
diff --git a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
index d3b7a39728d..c226e06a1af 100644
--- a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
+++ b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
@@ -566,7 +566,7 @@ private:
if (serverGlobalParams.clusterRole == ClusterRole::ConfigServer) {
// TODO SERVER-53283: This block can removed once 5.0 becomes last-lts.
- if (requestedVersion >= FeatureCompatibility::Version::kVersion50) {
+ if (requestedVersion == FeatureCompatibility::Version::kFullyDowngradedTo50) {
ShardingCatalogManager::get(opCtx)->upgradeMetadataFor50Phase1(opCtx);
}
@@ -580,7 +580,7 @@ private:
opCtx, CommandHelpers::appendMajorityWriteConcern(requestPhase2.toBSON({}))));
// TODO SERVER-53283: This block can removed once 5.0 becomes last-lts.
- if (requestedVersion >= FeatureCompatibility::Version::kVersion50) {
+ if (requestedVersion == FeatureCompatibility::Version::kFullyDowngradedTo50) {
ShardingCatalogManager::get(opCtx)->upgradeMetadataFor50Phase2(opCtx);
}
@@ -685,7 +685,7 @@ private:
abortAllReshardCollection(opCtx);
// TODO SERVER-53283: This block can removed once 5.0 becomes last-lts.
- if (requestedVersion < FeatureCompatibility::Version::kVersion50) {
+ if (requestedVersion < FeatureCompatibility::Version::kFullyDowngradedTo50) {
ShardingCatalogManager::get(opCtx)->downgradeMetadataToPre50Phase1(opCtx);
// TODO: SERVER-55912 remove after 5.0 becomes last-lts.
@@ -702,12 +702,12 @@ private:
opCtx, CommandHelpers::appendMajorityWriteConcern(requestPhase2.toBSON({}))));
// TODO SERVER-53283: This block can removed once 5.0 becomes last-lts.
- if (requestedVersion < FeatureCompatibility::Version::kVersion50) {
+ if (requestedVersion < FeatureCompatibility::Version::kFullyDowngradedTo50) {
ShardingCatalogManager::get(opCtx)->downgradeMetadataToPre50Phase2(opCtx);
}
} else if (serverGlobalParams.clusterRole == ClusterRole::ShardServer) {
// TODO: SERVER-55912 remove after 5.0 becomes last-lts.
- if (requestedVersion < FeatureCompatibility::Version::kVersion50) {
+ if (requestedVersion < FeatureCompatibility::Version::kFullyDowngradedTo50) {
dropReshardingCollectionsOnShard(opCtx);
}
}
diff --git a/src/mongo/db/exec/upsert_stage.cpp b/src/mongo/db/exec/upsert_stage.cpp
index 1b352fc4d38..20904ae1909 100644
--- a/src/mongo/db/exec/upsert_stage.cpp
+++ b/src/mongo/db/exec/upsert_stage.cpp
@@ -279,7 +279,7 @@ void UpsertStage::_assertDocumentToBeInsertedIsValid(const mb::Document& documen
bool allowTopLevelDollarPrefixes =
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50);
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50);
storage_validation::storageValid(document,
allowTopLevelDollarPrefixes,
true, /* Should validate for storage */
diff --git a/src/mongo/db/matcher/expression_parser.cpp b/src/mongo/db/matcher/expression_parser.cpp
index 3a2a1bc63b6..32a32d66683 100644
--- a/src/mongo/db/matcher/expression_parser.cpp
+++ b/src/mongo/db/matcher/expression_parser.cpp
@@ -296,7 +296,7 @@ StatusWithMatchExpression parse(const BSONObj& obj,
const auto dotsAndDollarsHint =
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50)
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50)
? ". If you have a field name that starts with a '$' symbol, consider using "
"$getField or $setField."
: "";
diff --git a/src/mongo/db/ops/insert.cpp b/src/mongo/db/ops/insert.cpp
index 44f22c877d5..e0accaac460 100644
--- a/src/mongo/db/ops/insert.cpp
+++ b/src/mongo/db/ops/insert.cpp
@@ -112,7 +112,7 @@ StatusWith<BSONObj> fixDocumentForInsert(OperationContext* opCtx,
if (fieldName[0] == '$') {
if (!serverGlobalParams.featureCompatibility.isVersionInitialized() ||
!serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50)) {
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50)) {
return StatusWith<BSONObj>(ErrorCodes::BadValue,
str::stream()
<< "Document can't have $ prefixed field names: "
diff --git a/src/mongo/db/pipeline/accumulator_sum.cpp b/src/mongo/db/pipeline/accumulator_sum.cpp
index b25fe3939ae..8322048df55 100644
--- a/src/mongo/db/pipeline/accumulator_sum.cpp
+++ b/src/mongo/db/pipeline/accumulator_sum.cpp
@@ -50,7 +50,7 @@ REGISTER_ACCUMULATOR(sum, genericParseSingleExpressionAccumulator<AccumulatorSum
REGISTER_STABLE_EXPRESSION(sum, ExpressionFromAccumulator<AccumulatorSum>::parse);
REGISTER_REMOVABLE_WINDOW_FUNCTION(sum, AccumulatorSum, WindowFunctionSum);
REGISTER_ACCUMULATOR_WITH_MIN_VERSION(
- count, parseCountAccumulator, ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+ count, parseCountAccumulator, ServerGlobalParams::FeatureCompatibility::Version::kVersion51);
REGISTER_WINDOW_FUNCTION(count, window_function::parseCountWindowFunction);
diff --git a/src/mongo/db/pipeline/document_source_set_window_fields.cpp b/src/mongo/db/pipeline/document_source_set_window_fields.cpp
index ff728f14349..eaee99d5b82 100644
--- a/src/mongo/db/pipeline/document_source_set_window_fields.cpp
+++ b/src/mongo/db/pipeline/document_source_set_window_fields.cpp
@@ -78,14 +78,14 @@ REGISTER_DOCUMENT_SOURCE_WITH_MIN_VERSION(
LiteParsedDocumentSourceDefault::parse,
document_source_set_window_fields::createFromBson,
AllowedWithApiStrict::kNeverInVersion1,
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
REGISTER_DOCUMENT_SOURCE_WITH_MIN_VERSION(
_internalSetWindowFields,
LiteParsedDocumentSourceDefault::parse,
DocumentSourceInternalSetWindowFields::createFromBson,
AllowedWithApiStrict::kNeverInVersion1,
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
list<intrusive_ptr<DocumentSource>> document_source_set_window_fields::createFromBson(
BSONElement elem, const intrusive_ptr<ExpressionContext>& expCtx) {
diff --git a/src/mongo/db/pipeline/expression.cpp b/src/mongo/db/pipeline/expression.cpp
index 064caf30224..4d0f4a29893 100644
--- a/src/mongo/db/pipeline/expression.cpp
+++ b/src/mongo/db/pipeline/expression.cpp
@@ -7328,11 +7328,12 @@ void ExpressionDateTrunc::_doAddDependencies(DepsTracker* deps) const {
}
/* -------------------------- ExpressionGetField ------------------------------ */
-REGISTER_EXPRESSION_WITH_MIN_VERSION(getField,
- ExpressionGetField::parse,
- AllowedWithApiStrict::kNeverInVersion1,
- AllowedWithClientType::kAny,
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+REGISTER_EXPRESSION_WITH_MIN_VERSION(
+ getField,
+ ExpressionGetField::parse,
+ AllowedWithApiStrict::kNeverInVersion1,
+ AllowedWithClientType::kAny,
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
intrusive_ptr<Expression> ExpressionGetField::parse(ExpressionContext* const expCtx,
BSONElement expr,
@@ -7439,18 +7440,20 @@ Value ExpressionGetField::serialize(const bool explain) const {
}
/* -------------------------- ExpressionSetField ------------------------------ */
-REGISTER_EXPRESSION_WITH_MIN_VERSION(setField,
- ExpressionSetField::parse,
- AllowedWithApiStrict::kNeverInVersion1,
- AllowedWithClientType::kAny,
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+REGISTER_EXPRESSION_WITH_MIN_VERSION(
+ setField,
+ ExpressionSetField::parse,
+ AllowedWithApiStrict::kNeverInVersion1,
+ AllowedWithClientType::kAny,
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
// $unsetField is syntactic sugar for $setField where value is set to $$REMOVE.
-REGISTER_EXPRESSION_WITH_MIN_VERSION(unsetField,
- ExpressionSetField::parse,
- AllowedWithApiStrict::kNeverInVersion1,
- AllowedWithClientType::kAny,
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+REGISTER_EXPRESSION_WITH_MIN_VERSION(
+ unsetField,
+ ExpressionSetField::parse,
+ AllowedWithApiStrict::kNeverInVersion1,
+ AllowedWithClientType::kAny,
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
intrusive_ptr<Expression> ExpressionSetField::parse(ExpressionContext* const expCtx,
BSONElement expr,
@@ -7581,11 +7584,12 @@ Value ExpressionTsSecond::evaluate(const Document& root, Variables* variables) c
return Value(static_cast<long long>(operand.getTimestamp().getSecs()));
}
-REGISTER_EXPRESSION_WITH_MIN_VERSION(tsSecond,
- ExpressionTsSecond::parse,
- AllowedWithApiStrict::kNeverInVersion1,
- AllowedWithClientType::kAny,
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+REGISTER_EXPRESSION_WITH_MIN_VERSION(
+ tsSecond,
+ ExpressionTsSecond::parse,
+ AllowedWithApiStrict::kNeverInVersion1,
+ AllowedWithClientType::kAny,
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
/* ------------------------- ExpressionTsIncrement ----------------------------- */
@@ -7604,11 +7608,12 @@ Value ExpressionTsIncrement::evaluate(const Document& root, Variables* variables
return Value(static_cast<long long>(operand.getTimestamp().getInc()));
}
-REGISTER_EXPRESSION_WITH_MIN_VERSION(tsIncrement,
- ExpressionTsIncrement::parse,
- AllowedWithApiStrict::kNeverInVersion1,
- AllowedWithClientType::kAny,
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+REGISTER_EXPRESSION_WITH_MIN_VERSION(
+ tsIncrement,
+ ExpressionTsIncrement::parse,
+ AllowedWithApiStrict::kNeverInVersion1,
+ AllowedWithClientType::kAny,
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50);
MONGO_INITIALIZER_GROUP(BeginExpressionRegistration, ("default"), ("EndExpressionRegistration"))
MONGO_INITIALIZER_GROUP(EndExpressionRegistration, ("BeginExpressionRegistration"), ())
diff --git a/src/mongo/db/pipeline/field_path.cpp b/src/mongo/db/pipeline/field_path.cpp
index 00dc46b520c..6a78400d9cc 100644
--- a/src/mongo/db/pipeline/field_path.cpp
+++ b/src/mongo/db/pipeline/field_path.cpp
@@ -100,7 +100,7 @@ void FieldPath::uassertValidFieldName(StringData fieldName) {
const auto dotsAndDollarsHint =
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50)
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50)
? " Consider using $getField or $setField."
: "";
diff --git a/src/mongo/db/s/create_collection_coordinator.cpp b/src/mongo/db/s/create_collection_coordinator.cpp
index 02f43ee953e..b030289ab67 100644
--- a/src/mongo/db/s/create_collection_coordinator.cpp
+++ b/src/mongo/db/s/create_collection_coordinator.cpp
@@ -679,7 +679,7 @@ void CreateCollectionCoordinator::_createPolicyAndChunks(OperationContext* opCtx
*_collectionUUID,
ShardingState::get(opCtx)->shardId(),
ChunkEntryFormat::getForVersionCallerGuaranteesFCVStability(
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50)});
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50)});
// There must be at least one chunk.
invariant(!_initialChunks.chunks.empty());
diff --git a/src/mongo/db/s/resharding/resharding_coordinator_service.cpp b/src/mongo/db/s/resharding/resharding_coordinator_service.cpp
index 743815a3633..2c81cf671c6 100644
--- a/src/mongo/db/s/resharding/resharding_coordinator_service.cpp
+++ b/src/mongo/db/s/resharding/resharding_coordinator_service.cpp
@@ -892,7 +892,7 @@ ReshardingCoordinatorExternalStateImpl::calculateParticipantShardsAndChunks(
coordinatorDoc.getReshardingUUID(),
*donorShardIds.begin(),
ChunkEntryFormat::getForVersionCallerGuaranteesFCVStability(
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50)};
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50)};
auto splitResult = initialSplitter.createFirstChunks(opCtx, shardKey, splitParams);
initialChunks = std::move(splitResult.chunks);
diff --git a/src/mongo/db/s/shard_collection_legacy.cpp b/src/mongo/db/s/shard_collection_legacy.cpp
index 2730d7c3ee2..028df745a3d 100644
--- a/src/mongo/db/s/shard_collection_legacy.cpp
+++ b/src/mongo/db/s/shard_collection_legacy.cpp
@@ -562,7 +562,7 @@ CreateCollectionResponse shardCollection(OperationContext* opCtx,
serverGlobalParams.featureCompatibility.getVersion() == FCVersion::kVersion49) {
checkForExistingChunks(opCtx, nss, boost::none);
} else if (serverGlobalParams.featureCompatibility.getVersion() ==
- FCVersion::kVersion50) {
+ FCVersion::kFullyDowngradedTo50) {
if (auto optUUID = sharding_ddl_util::getCollectionUUID(opCtx, nss))
checkForExistingChunks(opCtx, nss, optUUID);
} else {
diff --git a/src/mongo/db/s/sharding_ddl_50_upgrade_downgrade.cpp b/src/mongo/db/s/sharding_ddl_50_upgrade_downgrade.cpp
index 8e3a68eed6b..6f8fe9e4247 100644
--- a/src/mongo/db/s/sharding_ddl_50_upgrade_downgrade.cpp
+++ b/src/mongo/db/s/sharding_ddl_50_upgrade_downgrade.cpp
@@ -40,7 +40,10 @@ DatabaseEntryFormat::Format DatabaseEntryFormat::get(const FixedFCVRegion& fcvRe
switch (fcvRegion->getVersion()) {
case FCVersion::kUpgradingFrom44To50:
case FCVersion::kUpgradingFrom49To50:
- case FCVersion::kVersion50:
+ case FCVersion::kUpgradingFrom50To51:
+ case FCVersion::kDowngradingFrom51To50:
+ case FCVersion::kFullyDowngradedTo50:
+ case FCVersion::kVersion51:
return feature_flags::gShardingFullDDLSupportTimestampedVersion.isEnabledAndIgnoreFCV()
? Format::kUUIDandTimestamp
: Format::kUUIDOnly;
@@ -61,7 +64,10 @@ ChunkEntryFormat::Format ChunkEntryFormat::getForVersionCallerGuaranteesFCVStabi
return feature_flags::gShardingFullDDLSupportTimestampedVersion.isEnabledAndIgnoreFCV()
? Format::kNamespaceAndUUIDWithTimestamps
: Format::kNamespaceOnlyNoTimestamps;
- case FCVersion::kVersion50:
+ case FCVersion::kFullyDowngradedTo50:
+ case FCVersion::kVersion51:
+ case FCVersion::kUpgradingFrom50To51:
+ case FCVersion::kDowngradingFrom51To50:
return feature_flags::gShardingFullDDLSupportTimestampedVersion.isEnabledAndIgnoreFCV()
? Format::kUUIDOnlyWithTimestamps
: Format::kNamespaceOnlyNoTimestamps;
diff --git a/src/mongo/db/s/sharding_ddl_util.cpp b/src/mongo/db/s/sharding_ddl_util.cpp
index 107bd3df64b..85682a5925c 100644
--- a/src/mongo/db/s/sharding_ddl_util.cpp
+++ b/src/mongo/db/s/sharding_ddl_util.cpp
@@ -313,7 +313,7 @@ void shardedRenameMetadata(OperationContext* opCtx,
// Only bump the epoch if the whole cluster is in FCV 5.0, so chunks do not contain epochs.
FixedFCVRegion fixedFCVRegion(opCtx);
if (serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50)) {
+ ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo50)) {
fromCollType.setEpoch(OID::gen());
}
}
diff --git a/src/mongo/db/server_options.h b/src/mongo/db/server_options.h
index 7a5e3cd226f..c8aa3037866 100644
--- a/src/mongo/db/server_options.h
+++ b/src/mongo/db/server_options.h
@@ -165,64 +165,58 @@ struct ServerGlobalParams {
* (Y, Y, X): Only Y features are available and new storage engine entries use the
* Y format, but existing entries may have either the Y or X format
*
- * kUnsetDefault44Behavior
+ * kUnsetDefault{LTS}Behavior
* (Unset, Unset, Unset): This is the case on startup before the fCV document is loaded into
* memory. isVersionInitialized() will return false, and getVersion()
- * will return the default (kUnsetDefault44Behavior).
+ * will return the default (kUnsetDefault{LTS}Behavior).
*
*/
enum class Version {
// The order of these enums matter: sort by (version, targetVersion, previousVersion).
kInvalid,
- kUnsetDefault44Behavior,
- kFullyDowngradedTo44, // { version: 4.4 }
- kDowngradingFrom47To44, // { version: 4.4, targetVersion: 4.4, previousVersion: 4.7 }
- kDowngradingFrom48To44, // { version: 4.4, targetVersion: 4.4, previousVersion: 4.8 }
- kDowngradingFrom49To44, // { version: 4.4, targetVersion: 4.4, previousVersion: 4.9 }
- kDowngradingFrom50To44, // { version: 4.4, targetVersion: 4.4, previousVersion: 5.0 }
- kUpgradingFrom44To47, // { version: 4.4, targetVersion: 4.7 }
- kUpgradingFrom44To48, // { version: 4.4, targetVersion: 4.8 }
- kUpgradingFrom44To49, // { version: 4.4, targetVersion: 4.9 }
- kUpgradingFrom44To50, // { version: 4.4, targetVersion: 5.0 }
- kVersion47, // { version: 4.7 }
- kDowngradingFrom48To47, // { version: 4.7, targetVersion: 4.7, previousVersion: 4.8 }
- kUpgradingFrom47To48, // { version: 4.7, targetVersion: 4.8 }
- kVersion48, // { version: 4.8 }
- kDowngradingFrom49To48, // { version: 4.8, targetVersion: 4.8, previousVersion: 4.9 }
- kUpgradingFrom48To49, // { version: 4.8, targetVersion: 4.9 }
- kVersion49, // { version: 4.9 }
- kDowngradingFrom50To49, // { version: 4.9, targetVersion: 4.9, previousVersion: 5.0 }
- kUpgradingFrom49To50, // { version: 4.9, targetVersion: 5.0 }
- kVersion50, // { version: 5.0 }
+ kVersion44, // To be removed once old feature flags are deleted
+ kVersion47, // To be removed once old feature flags are deleted
+ kVersion48, // To be removed once old feature flags are deleted
+ kVersion49, // To be removed once old feature flags are deleted
+ kFullyDowngradedTo44, // To be removed once old feature flags are deleted
+ kDowngradingFrom50To49, // To be removed once old feature flags are deleted
+ kDowngradingFrom50To44, // To be removed once old feature flags are deleted
+ kUpgradingFrom44To50, // To be removed once old feature flags are deleted
+ kUpgradingFrom44To47, // To be removed once old feature flags are deleted
+ kUpgradingFrom49To50, // To be removed once old feature flags are deleted
+ kUnsetDefault50Behavior,
+ kFullyDowngradedTo50, // { version: 5.0 }
+ kDowngradingFrom51To50, // { version: 5.0, targetVersion: 5.0, previousVersion: 5.1 }
+ kUpgradingFrom50To51, // { version: 5.0, targetVersion: 5.1 }
+ kVersion51, // { version: 5.1 }
};
// These constants should only be used for generic FCV references. Generic references are
// FCV references that are expected to exist across LTS binary versions.
- static constexpr Version kLatest = Version::kVersion50;
- static constexpr Version kLastContinuous = Version::kVersion49;
- static constexpr Version kLastLTS = Version::kFullyDowngradedTo44;
+ static constexpr Version kLatest = Version::kVersion51;
+ static constexpr Version kLastContinuous = Version::kFullyDowngradedTo50;
+ static constexpr Version kLastLTS = Version::kFullyDowngradedTo50;
// These constants should only be used for generic FCV references. Generic references are
// FCV references that are expected to exist across LTS binary versions.
// NOTE: DO NOT USE THEM FOR REGULAR FCV CHECKS.
- static constexpr Version kUpgradingFromLastLTSToLatest = Version::kUpgradingFrom44To50;
+ static constexpr Version kUpgradingFromLastLTSToLatest = Version::kUpgradingFrom50To51;
static constexpr Version kUpgradingFromLastContinuousToLatest =
- Version::kUpgradingFrom49To50;
- static constexpr Version kDowngradingFromLatestToLastLTS = Version::kDowngradingFrom50To44;
+ Version::kUpgradingFrom50To51;
+ static constexpr Version kDowngradingFromLatestToLastLTS = Version::kDowngradingFrom51To50;
static constexpr Version kDowngradingFromLatestToLastContinuous =
- Version::kDowngradingFrom50To49;
+ Version::kDowngradingFrom51To50;
// kUpgradingFromLastLTSToLastContinuous is only ever set to a valid FCV when
// kLastLTS and kLastContinuous are not equal. Otherwise, this value should be set to
// kInvalid.
- static constexpr Version kUpgradingFromLastLTSToLastContinuous =
- Version::kUpgradingFrom44To49;
+ static constexpr Version kUpgradingFromLastLTSToLastContinuous = Version::kInvalid;
/**
* On startup, the featureCompatibilityVersion may not have been explicitly set yet. This
* exposes the actual state of the featureCompatibilityVersion if it is uninitialized.
*/
const bool isVersionInitialized() const {
- return _version.load() != Version::kUnsetDefault44Behavior;
+ return _version.load() != Version::kUnsetDefault50Behavior;
}
/**
@@ -275,7 +269,7 @@ struct ServerGlobalParams {
}
void reset() {
- _version.store(Version::kUnsetDefault44Behavior);
+ _version.store(Version::kUnsetDefault50Behavior);
}
void setVersion(Version version) {
@@ -283,7 +277,7 @@ struct ServerGlobalParams {
}
private:
- AtomicWord<Version> _version{Version::kUnsetDefault44Behavior};
+ AtomicWord<Version> _version{Version::kUnsetDefault50Behavior};
} mutableFeatureCompatibility;
diff --git a/src/mongo/db/update/pipeline_executor.cpp b/src/mongo/db/update/pipeline_executor.cpp
index 3bd5ec062fe..c2e77fb1e90 100644
--- a/src/mongo/db/update/pipeline_executor.cpp
+++ b/src/mongo/db/update/pipeline_executor.cpp
@@ -104,7 +104,7 @@ UpdateExecutor::ApplyResult PipelineExecutor::applyUpdate(ApplyParams applyParam
bool allowTopLevelDollarPrefixedFields =
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50);
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50);
auto ret = ObjectReplaceExecutor::applyReplacementUpdate(
applyParams, transformedDoc, transformedDocHasIdField, allowTopLevelDollarPrefixedFields);
diff --git a/src/mongo/db/update/storage_validation.cpp b/src/mongo/db/update/storage_validation.cpp
index 12f7559fefd..444637470f3 100644
--- a/src/mongo/db/update/storage_validation.cpp
+++ b/src/mongo/db/update/storage_validation.cpp
@@ -115,7 +115,7 @@ void validateDollarPrefixElement(mutablebson::ConstElement elem) {
const auto replaceWithHint =
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50)
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50)
? "' is not allowed in the context of an update's replacement document. Consider using "
"an aggregation pipeline with $replaceWith."
: "' is not valid for storage.";
@@ -140,7 +140,7 @@ Status storageValidIdField(const mongo::BSONElement& element) {
if (!status.isOK() && status.code() == ErrorCodes::DollarPrefixedFieldName &&
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50)) {
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50)) {
return Status(status.code(),
str::stream() << "_id fields may not contain '$'-prefixed fields: "
<< status.reason());
@@ -203,7 +203,7 @@ void storageValid(mutablebson::ConstElement elem,
const bool dotsAndDollarsFeatureEnabled =
serverGlobalParams.featureCompatibility.isVersionInitialized() &&
serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo(
- FeatureCompatibilityParams::Version::kVersion50);
+ FeatureCompatibilityParams::Version::kFullyDowngradedTo50);
const bool checkFields = !dotsAndDollarsFeatureEnabled || checkTopLevelFields;
auto fieldName = elem.getFieldName();
diff --git a/src/mongo/db/wire_version.h b/src/mongo/db/wire_version.h
index 45712e1c298..9d1c72d20f3 100644
--- a/src/mongo/db/wire_version.h
+++ b/src/mongo/db/wire_version.h
@@ -95,16 +95,19 @@ enum WireVersion {
// Supports features available from 5.0 and onwards.
WIRE_VERSION_50 = 13,
+ // Supports features available from 5.1 and onwards.
+ WIRE_VERSION_51 = 14,
+
// Set this to the highest value in this enum - it will be the default maxWireVersion for
// the WireSpec values.
- LATEST_WIRE_VERSION = WIRE_VERSION_50,
+ LATEST_WIRE_VERSION = WIRE_VERSION_51,
// Set this to LATEST_WIRE_VERSION - 1.
LAST_CONT_WIRE_VERSION = LATEST_WIRE_VERSION - 1,
// Set this to the wire version of the previous LTS version. We expect to update this after
// each LTS release.
- LAST_LTS_WIRE_VERSION = RESUMABLE_INITIAL_SYNC,
+ LAST_LTS_WIRE_VERSION = WIRE_VERSION_50,
};
/**
diff --git a/src/mongo/idl/feature_flag_test.cpp b/src/mongo/idl/feature_flag_test.cpp
index 83e55e76474..7431a7e9d18 100644
--- a/src/mongo/idl/feature_flag_test.cpp
+++ b/src/mongo/idl/feature_flag_test.cpp
@@ -85,13 +85,13 @@ TEST(IDLFeatureFlag, Basic) {
ASSERT_NOT_OK(featureFlagToaster->setFromString("alpha"));
ASSERT(feature_flags::gFeatureFlagToaster.getVersion() ==
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+ ServerGlobalParams::FeatureCompatibility::Version::kVersion51);
}
// Verify getVersion works correctly when enabled and not enabled
TEST_F(FeatureFlagTest, Version) {
ASSERT(feature_flags::gFeatureFlagBlender.getVersion() ==
- ServerGlobalParams::FeatureCompatibility::Version::kVersion49);
+ ServerGlobalParams::FeatureCompatibility::Version::kVersion51);
// NOTE: if you are hitting this assertion, the version in feature_flag_test.idl may need to be
// changed to match the current kLastLTS
@@ -118,7 +118,7 @@ TEST_F(FeatureFlagTest, ServerStatus) {
ASSERT_BSONOBJ_EQ(builder.obj(),
BSON("blender" << BSON("value" << true << "version"
- << "4.9")));
+ << "5.1")));
}
{
@@ -138,7 +138,7 @@ TEST_F(FeatureFlagTest, IsEnabledTrue) {
// Test FCV checks with enabled flag
// Test newest version
serverGlobalParams.mutableFeatureCompatibility.setVersion(
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+ ServerGlobalParams::FeatureCompatibility::Version::kVersion51);
ASSERT_TRUE(
feature_flags::gFeatureFlagBlender.isEnabled(serverGlobalParams.featureCompatibility));
@@ -164,7 +164,7 @@ TEST_F(FeatureFlagTest, IsEnabledFalse) {
ASSERT_OK(_featureFlagSpoon->setFromString("false"));
serverGlobalParams.mutableFeatureCompatibility.setVersion(
- ServerGlobalParams::FeatureCompatibility::Version::kVersion50);
+ ServerGlobalParams::FeatureCompatibility::Version::kVersion51);
ASSERT_FALSE(
feature_flags::gFeatureFlagBlender.isEnabled(serverGlobalParams.featureCompatibility));
diff --git a/src/mongo/idl/feature_flag_test.idl b/src/mongo/idl/feature_flag_test.idl
index 2bbc4a1378d..59e3ce2d372 100644
--- a/src/mongo/idl/feature_flag_test.idl
+++ b/src/mongo/idl/feature_flag_test.idl
@@ -45,11 +45,11 @@ feature_flags:
cpp_varname: gFeatureFlagBlender
default: true
# The version should be a valid FCV not equal to kLastLTS in src/mongo/db/commands/feature_compatibility_version_parser.h
- version: 4.9
+ version: 5.1
featureFlagSpoon:
description: "Create a feature flag"
cpp_varname: gFeatureFlagSpoon
default: true
# The version should match kLastLTS in src/mongo/db/commands/feature_compatibility_version_parser.h
- version: 4.4
+ version: 5.0
diff --git a/src/mongo/idl/idl_parser.h b/src/mongo/idl/idl_parser.h
index 6e2af5a909a..df5d788a1b3 100644
--- a/src/mongo/idl/idl_parser.h
+++ b/src/mongo/idl/idl_parser.h
@@ -105,7 +105,7 @@ auto idlPreparsedValue(stdx::type_identity<T>) {
*/
inline auto idlPreparsedValue(
stdx::type_identity<ServerGlobalParams::FeatureCompatibility::Version>) {
- return ServerGlobalParams::FeatureCompatibility::Version::kUnsetDefault44Behavior;
+ return ServerGlobalParams::FeatureCompatibility::Version::kUnsetDefault50Behavior;
}
} // namespace preparsed_value_adl_barrier
diff --git a/src/mongo/shell/feature_compatibility_version.js b/src/mongo/shell/feature_compatibility_version.js
index 50bdf2d8afa..e1c1e01dce9 100644
--- a/src/mongo/shell/feature_compatibility_version.js
+++ b/src/mongo/shell/feature_compatibility_version.js
@@ -10,13 +10,13 @@
* multiple times.
*/
-var latestFCV = "5.0";
-var lastContinuousFCV = "4.9";
-var lastLTSFCV = "4.4";
+var latestFCV = "5.1";
+var lastContinuousFCV = "5.0";
+var lastLTSFCV = "5.0";
// The number of versions since the last-lts version. When numVersionsSinceLastLTS = 1,
// lastContinuousFCV is equal to lastLTSFCV. This is used to calculate the expected minWireVersion
// in jstests that use the lastLTSFCV. This should be updated on each release.
-var numVersionsSinceLastLTS = 4;
+var numVersionsSinceLastLTS = 1;
/**
* Returns the FCV associated with a binary version.
diff --git a/src/mongo/shell/servers.js b/src/mongo/shell/servers.js
index e67682480a3..85f5fcdd43a 100644
--- a/src/mongo/shell/servers.js
+++ b/src/mongo/shell/servers.js
@@ -214,7 +214,7 @@ MongoRunner.binVersionSubs = [
// To-be-updated when we branch for the next release.
new MongoRunner.VersionSub("last-continuous", "5.0"),
// To be updated when we branch for the next LTS release.
- new MongoRunner.VersionSub("last-lts", "4.4")
+ new MongoRunner.VersionSub("last-lts", "5.0")
];
MongoRunner.getBinVersionFor = function(version) {