summaryrefslogtreecommitdiff
path: root/jstests
diff options
context:
space:
mode:
authorAli Mir <ali.mir@mongodb.com>2020-04-23 16:15:22 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-04-29 17:32:39 +0000
commit98427b7a2228f6a8d54475adc9df3991c1c60314 (patch)
treeae15e1baebd19e41652b5c46bc8fa6ad61606b43 /jstests
parent18edfccc4083d80b8a289f2fec161c18b94be350 (diff)
downloadmongo-98427b7a2228f6a8d54475adc9df3991c1c60314.tar.gz
SERVER-46592 Remove all usages of the requires_fcv_44 tag from jstests
Diffstat (limited to 'jstests')
-rw-r--r--jstests/aggregation/bugs/exclusion_projection_does_not_affect_field_order.js2
-rw-r--r--jstests/aggregation/dbref.js3
-rw-r--r--jstests/change_streams/lookup_pre_image.js5
-rw-r--r--jstests/change_streams/required_as_first_stage.js4
-rw-r--r--jstests/concurrency/fsm_workloads/agg_out.js2
-rw-r--r--jstests/concurrency/fsm_workloads/agg_unionWith_interrupt_cleanup.js3
-rw-r--r--jstests/concurrency/fsm_workloads/agg_union_with_chunk_migrations.js3
-rw-r--r--jstests/concurrency/fsm_workloads/collmod_writeconflict.js2
-rw-r--r--jstests/concurrency/fsm_workloads/map_reduce_with_chunk_migrations.js3
-rw-r--r--jstests/concurrency/fsm_workloads/random_moveChunk_index_operations.js2
-rw-r--r--jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key.js2
-rw-r--r--jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_delete_transaction.js1
-rw-r--r--jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_update_transaction.js1
-rw-r--r--jstests/concurrency/fsm_workloads/refine_collection_shard_key_crud_ops.js2
-rw-r--r--jstests/concurrency/fsm_workloads/refine_collection_shard_key_zone_ops.js2
-rw-r--r--jstests/concurrency/fsm_workloads/reindex_writeconflict.js2
-rw-r--r--jstests/core/apitest_dbcollection.js7
-rw-r--r--jstests/core/array_comparison_correctness.js3
-rw-r--r--jstests/core/array_index_and_nonIndex_consistent.js3
-rw-r--r--jstests/core/array_match4.js1
-rw-r--r--jstests/core/background_validation.js2
-rw-r--r--jstests/core/bypass_doc_validation.js3
-rw-r--r--jstests/core/check_shard_index.js6
-rw-r--r--jstests/core/collation.js4
-rw-r--r--jstests/core/collation_plan_cache.js6
-rw-r--r--jstests/core/comment_field.js1
-rw-r--r--jstests/core/create_collection.js7
-rw-r--r--jstests/core/create_indexes.js4
-rw-r--r--jstests/core/crud_ops_do_not_throw_locktimeout.js2
-rw-r--r--jstests/core/dbref3.js3
-rw-r--r--jstests/core/dbstats.js4
-rw-r--r--jstests/core/delete_hint.js5
-rw-r--r--jstests/core/distinct_array1.js2
-rw-r--r--jstests/core/distinct_with_hashed_index.js6
-rw-r--r--jstests/core/doc_validation_invalid_validators.js6
-rw-r--r--jstests/core/elemMatchProjection.js4
-rw-r--r--jstests/core/explain_shell_helpers.js12
-rw-r--r--jstests/core/explain_sort_type.js13
-rw-r--r--jstests/core/failcommand_failpoint.js8
-rw-r--r--jstests/core/find_and_modify.js5
-rw-r--r--jstests/core/find_and_modify_hint.js7
-rw-r--r--jstests/core/find_and_modify_server6865.js4
-rw-r--r--jstests/core/find_projection_meta_errors.js1
-rw-r--r--jstests/core/finda.js4
-rw-r--r--jstests/core/fts_index_wildcard_and_weight.js1
-rw-r--r--jstests/core/fts_proj.js4
-rw-r--r--jstests/core/fts_projection.js1
-rw-r--r--jstests/core/fts_score_sort.js3
-rw-r--r--jstests/core/hashed_index_collation.js5
-rw-r--r--jstests/core/hashed_index_covered_queries.js4
-rw-r--r--jstests/core/hashed_index_queries.js2
-rw-r--r--jstests/core/hashed_index_queries_with_logical_operators.js2
-rw-r--r--jstests/core/hashed_index_sort.js4
-rw-r--r--jstests/core/hashed_index_with_arrays.js2
-rw-r--r--jstests/core/hashed_partial_and_sparse_index.js2
-rw-r--r--jstests/core/id_partial_projection.js1
-rw-r--r--jstests/core/idhack.js5
-rw-r--r--jstests/core/index_bounds_maxkey.js5
-rw-r--r--jstests/core/index_bounds_minkey.js5
-rw-r--r--jstests/core/index_diag.js4
-rw-r--r--jstests/core/index_filter_commands.js2
-rw-r--r--jstests/core/index_plugins.js2
-rw-r--r--jstests/core/internal_rename_if_options_and_indexes_match.js7
-rw-r--r--jstests/core/map_reduce_validation.js3
-rw-r--r--jstests/core/mr_agg_explain.js4
-rw-r--r--jstests/core/mr_correctness.js3
-rw-r--r--jstests/core/mr_fail_invalid_js.js3
-rw-r--r--jstests/core/mr_null_arguments.js1
-rw-r--r--jstests/core/mr_reduce_merge_other_db.js1
-rw-r--r--jstests/core/mr_scope.js3
-rw-r--r--jstests/core/natural.js3
-rw-r--r--jstests/core/notablescan.js1
-rw-r--r--jstests/core/notablescan_capped.js1
-rw-r--r--jstests/core/or4.js3
-rw-r--r--jstests/core/plan_cache_clear.js2
-rw-r--r--jstests/core/plan_cache_list_plans.js12
-rw-r--r--jstests/core/plan_cache_list_shapes.js2
-rw-r--r--jstests/core/plan_cache_shell_helpers.js12
-rw-r--r--jstests/core/plan_cache_stats_shard_and_host.js7
-rw-r--r--jstests/core/positional_projection_multiple_array_fields.js3
-rw-r--r--jstests/core/profile_mapreduce.js2
-rw-r--r--jstests/core/projection_conflicts.js1
-rw-r--r--jstests/core/projection_meta_index_key.js4
-rw-r--r--jstests/core/return_key.js4
-rw-r--r--jstests/core/rollback_index_drop.js5
-rw-r--r--jstests/core/sort_array.js5
-rw-r--r--jstests/core/sort_with_meta_operator.js3
-rw-r--r--jstests/core/sortl.js4
-rw-r--r--jstests/core/system_js_access.js5
-rw-r--r--jstests/core/txns/commands_in_txns_read_concern.js14
-rw-r--r--jstests/core/txns/concurrent_drops_and_creates.js3
-rw-r--r--jstests/core/txns/create_collection.js10
-rw-r--r--jstests/core/txns/create_collection_parallel.js10
-rw-r--r--jstests/core/txns/create_existing_indexes.js9
-rw-r--r--jstests/core/txns/create_indexes.js10
-rw-r--r--jstests/core/txns/create_indexes_parallel.js10
-rw-r--r--jstests/core/txns/implicit_collection_creation_in_txn.js4
-rw-r--r--jstests/core/txns/prepare_conflict.js5
-rw-r--r--jstests/core/update_affects_indexes.js1
-rw-r--r--jstests/core/views/dbref_projection.js5
-rw-r--r--jstests/core/views/views_aggregation.js17
-rw-r--r--jstests/core/views/views_all_commands.js8
-rw-r--r--jstests/core/views/views_find.js3
-rw-r--r--jstests/core/views/views_validation.js2
-rw-r--r--jstests/core/where_system_js.js12
-rw-r--r--jstests/core/wildcard_index_covered_queries.js10
-rw-r--r--jstests/core/wildcard_index_return_key.js1
-rw-r--r--jstests/core/wildcard_index_validindex.js5
-rw-r--r--jstests/disk/wt_repair_inconsistent_index.js2
-rw-r--r--jstests/noPassthrough/background_validation_repl.js2
-rw-r--r--jstests/noPassthrough/change_stream_error_label.js2
-rw-r--r--jstests/noPassthrough/non_transaction_snapshot_reads_without_majority_reads.js5
-rw-r--r--jstests/replsets/apply_ops_create_indexes.js1
-rw-r--r--jstests/replsets/awaitable_ismaster_errors_on_horizon_change.js1
-rw-r--r--jstests/replsets/awaitable_ismaster_metrics_on_state_change.js1
-rw-r--r--jstests/replsets/awaitable_ismaster_on_nodes_with_invalid_configs.js1
-rw-r--r--jstests/replsets/awaitable_ismaster_stepdown_stepup.js1
-rw-r--r--jstests/replsets/awaitdata_getmore_new_last_committed_optime.js4
-rw-r--r--jstests/replsets/change_sync_source_in_initial_sync.js2
-rw-r--r--jstests/replsets/collection_clone_resume_after_network_error.js2
-rw-r--r--jstests/replsets/dbhash_system_collections.js1
-rw-r--r--jstests/replsets/drop_databases_two_phase.js2
-rw-r--r--jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js9
-rw-r--r--jstests/replsets/force_reconfig_skips_config_replication.js2
-rw-r--r--jstests/replsets/force_reconfig_skips_oplog_commitment.js2
-rw-r--r--jstests/replsets/initial_sync_chooses_correct_sync_source.js7
-rw-r--r--jstests/replsets/initial_sync_drop_collection.js1
-rw-r--r--jstests/replsets/initial_sync_during_stepdown.js1
-rw-r--r--jstests/replsets/initial_sync_fails_after_source_resyncs.js1
-rw-r--r--jstests/replsets/initial_sync_fails_when_source_removed.js1
-rw-r--r--jstests/replsets/initial_sync_fails_when_source_resyncs.js2
-rw-r--r--jstests/replsets/initial_sync_nodes_maintain_and_gossip_commit_point.js3
-rw-r--r--jstests/replsets/initial_sync_oplog_fetcher_survives_restart.js4
-rw-r--r--jstests/replsets/initial_sync_rename_collection.js1
-rw-r--r--jstests/replsets/initial_sync_survives_network_error.js1
-rw-r--r--jstests/replsets/initial_sync_survives_restart.js4
-rw-r--r--jstests/replsets/initial_sync_test_fixture_test.js7
-rw-r--r--jstests/replsets/initial_sync_uuid_not_found.js1
-rw-r--r--jstests/replsets/last_vote.js4
-rw-r--r--jstests/replsets/log_secondary_oplog_application.js1
-rw-r--r--jstests/replsets/no_progress_updates_during_initial_sync.js2
-rw-r--r--jstests/replsets/non_transaction_snapshot_reads.js10
-rw-r--r--jstests/replsets/notmaster_errors_return_topology_version.js2
-rw-r--r--jstests/replsets/oplog_format_create_indexes.js2
-rw-r--r--jstests/replsets/oplog_slow_sampling_logging.js5
-rw-r--r--jstests/replsets/prepare_conflict_read_concern_behavior.js5
-rw-r--r--jstests/replsets/prepare_transaction_index_build.js5
-rw-r--r--jstests/replsets/read_committed_with_catalog_changes.js2
-rw-r--r--jstests/replsets/read_write_concern_defaults_propagation.js2
-rw-r--r--jstests/replsets/reconfig_avoids_diverging_configs.js2
-rw-r--r--jstests/replsets/reconfig_commitment_succeeds_with_arbiter.js2
-rw-r--r--jstests/replsets/reconfig_ignores_term_field.js4
-rw-r--r--jstests/replsets/reconfig_only_counts_voters_for_config_commitment.js4
-rw-r--r--jstests/replsets/reconfig_only_counts_voting_nodes_for_oplog_commitment.js4
-rw-r--r--jstests/replsets/reconfig_waits_for_a_majority_to_replicate_config.js4
-rw-r--r--jstests/replsets/reconfig_waits_for_config_durability.js4
-rw-r--r--jstests/replsets/reconfig_waits_for_oplog_commitment_condition.js1
-rw-r--r--jstests/replsets/reconfig_waits_for_oplog_commitment_condition_when_leaving_force.js2
-rw-r--r--jstests/replsets/reconstruct_prepared_transactions_initial_sync_change_oldest_active_txn_timestamp.js5
-rw-r--r--jstests/replsets/reconstruct_prepared_transactions_initial_sync_index_build.js5
-rw-r--r--jstests/replsets/remove_newly_added_field_after_finishing_initial_sync.js7
-rw-r--r--jstests/replsets/remove_newly_added_field_votes_zero.js7
-rw-r--r--jstests/replsets/replsettest_stop_with_default_rwc.js2
-rw-r--r--jstests/replsets/resume_after_against_oplog.js1
-rw-r--r--jstests/replsets/rollback_after_enabling_majority_reads.js4
-rw-r--r--jstests/replsets/rollback_ddl_op_sequences.js4
-rw-r--r--jstests/replsets/rollback_index_build_and_create.js1
-rw-r--r--jstests/replsets/rollback_index_build_start.js1
-rw-r--r--jstests/replsets/rollback_index_build_start_abort.js1
-rw-r--r--jstests/replsets/rollback_index_build_start_abort_not_create.js1
-rw-r--r--jstests/replsets/rollback_index_build_start_commit.js1
-rw-r--r--jstests/replsets/rollback_index_build_start_commit_drop.js1
-rw-r--r--jstests/replsets/rollback_index_build_start_not_create.js1
-rw-r--r--jstests/replsets/rollback_prepare_transaction.js5
-rw-r--r--jstests/replsets/rollback_unprepared_transactions.js5
-rw-r--r--jstests/replsets/rollback_waits_for_bgindex_completion.js2
-rw-r--r--jstests/replsets/server_status_metrics.js4
-rw-r--r--jstests/replsets/stable_timestamp_can_advance_after_oplog_hole_abort.js4
-rw-r--r--jstests/replsets/stepup_increments_config_term.js2
-rw-r--r--jstests/replsets/too_stale_secondary.js4
-rw-r--r--jstests/sharding/allow_partial_results_nshards.js5
-rw-r--r--jstests/sharding/array_shard_key.js5
-rw-r--r--jstests/sharding/autosplit_low_cardinality.js2
-rw-r--r--jstests/sharding/balancer_collection_status.js3
-rw-r--r--jstests/sharding/banned_txn_databases_sharded.js5
-rw-r--r--jstests/sharding/bulk_insert.js1
-rw-r--r--jstests/sharding/change_stream_against_shard_mongod.js5
-rw-r--r--jstests/sharding/change_stream_error_label.js6
-rw-r--r--jstests/sharding/change_streams/resume_change_stream.js5
-rw-r--r--jstests/sharding/change_streams_establishment_finds_new_shards.js4
-rw-r--r--jstests/sharding/change_streams_new_shard_new_database.js6
-rw-r--r--jstests/sharding/change_streams_unsharded_update_resume.js4
-rw-r--r--jstests/sharding/change_streams_update_lookup_shard_metadata_missing.js5
-rw-r--r--jstests/sharding/check_sharding_index_versioned.js3
-rw-r--r--jstests/sharding/chunk_operations_invalidate_single_shard.js1
-rw-r--r--jstests/sharding/clear_jumbo.js2
-rw-r--r--jstests/sharding/clone_catalog_data.js1
-rw-r--r--jstests/sharding/commands_that_write_accept_wc_shards.js4
-rw-r--r--jstests/sharding/compound_hashed_shard_key_covered_query.js2
-rw-r--r--jstests/sharding/compound_hashed_shard_key_presplitting.js4
-rw-r--r--jstests/sharding/compound_hashed_shard_key_sharding_cmds.js4
-rw-r--r--jstests/sharding/compound_hashed_shard_key_targeting.js5
-rw-r--r--jstests/sharding/compound_hashed_shard_key_zoning.js4
-rw-r--r--jstests/sharding/count1.js2
-rw-r--r--jstests/sharding/covered_shard_key_indexes.js1
-rw-r--r--jstests/sharding/create_existing_indexes_prepared_transactions.js1
-rw-r--r--jstests/sharding/create_new_collections_prepared_transactions.js1
-rw-r--r--jstests/sharding/database_versioning_safe_secondary_reads.js1
-rw-r--r--jstests/sharding/delete_range_deletion_tasks_on_stepup_after_drop_collection.js3
-rw-r--r--jstests/sharding/extract_shard_key_values.js6
-rw-r--r--jstests/sharding/features1.js2
-rw-r--r--jstests/sharding/finer_grained_feature_flag.js1
-rw-r--r--jstests/sharding/fts_score_sort_sharded.js4
-rw-r--r--jstests/sharding/hedged_reads.js3
-rw-r--r--jstests/sharding/hedging_metrics_server_status.js3
-rw-r--r--jstests/sharding/in_memory_sort_limit.js1
-rw-r--r--jstests/sharding/index_stats_pipeline_detects_inconsistent_indexes.js1
-rw-r--r--jstests/sharding/list_indexes_shard_targeting.js3
-rw-r--r--jstests/sharding/merge_from_stale_mongos.js2
-rw-r--r--jstests/sharding/mongos_precache_routing_info.js2
-rw-r--r--jstests/sharding/move_jumbo_chunk.js3
-rw-r--r--jstests/sharding/move_primary_clone_test.js2
-rw-r--r--jstests/sharding/movechunk_interrupt_at_primary_stepdown.js3
-rw-r--r--jstests/sharding/mr_noscripting.js1
-rw-r--r--jstests/sharding/now_variable_sharding.js1
-rw-r--r--jstests/sharding/num_hosts_targeted_metrics.js10
-rw-r--r--jstests/sharding/prefix_shard_key.js1
-rw-r--r--jstests/sharding/query/agg_explain_fmt.js1
-rw-r--r--jstests/sharding/query/agg_js_on_mongos.js1
-rw-r--r--jstests/sharding/query/collation_targeting.js1
-rw-r--r--jstests/sharding/query/collation_targeting_inherited.js1
-rw-r--r--jstests/sharding/query/comment_field_sharded.js2
-rw-r--r--jstests/sharding/query/explain_agg_read_pref.js2
-rw-r--r--jstests/sharding/query/explain_exec_stats_on_shards.js1
-rw-r--r--jstests/sharding/query/find_getmore_cmd.js1
-rw-r--r--jstests/sharding/query/javascript_heap_limit.js1
-rw-r--r--jstests/sharding/query/map_reduce_invalid_output_collection.js1
-rw-r--r--jstests/sharding/query/map_reduce_invalid_result_set.js3
-rw-r--r--jstests/sharding/query/merge_command_options.js2
-rw-r--r--jstests/sharding/query/mongos_query_comment.js1
-rw-r--r--jstests/sharding/query/mrShardedOutput.js1
-rw-r--r--jstests/sharding/query/mr_output_options.js3
-rw-r--r--jstests/sharding/query/out_fails_to_replace_sharded_collection.js2
-rw-r--r--jstests/sharding/query/unionWith_current_op.js2
-rw-r--r--jstests/sharding/query/unionWith_lookup.js3
-rw-r--r--jstests/sharding/query/union_sharded_views.js4
-rw-r--r--jstests/sharding/read_pref_cmd.js1
-rw-r--r--jstests/sharding/read_pref_with_hedging_mode.js5
-rw-r--r--jstests/sharding/read_write_concern_defaults_application.js1
-rw-r--r--jstests/sharding/read_write_concern_defaults_commands_api.js2
-rw-r--r--jstests/sharding/read_write_concern_defaults_propagation.js2
-rw-r--r--jstests/sharding/refine_collection_shard_key_atomic.js1
-rw-r--r--jstests/sharding/refine_collection_shard_key_basic.js5
-rw-r--r--jstests/sharding/refine_collection_shard_key_changelog.js4
-rw-r--r--jstests/sharding/refine_collection_shard_key_drops_chunks.js1
-rw-r--r--jstests/sharding/refine_collection_shard_key_jumbo.js1
-rw-r--r--jstests/sharding/refine_collection_shard_key_primary_without_chunks.js1
-rw-r--r--jstests/sharding/retryable_write_error_labels.js5
-rw-r--r--jstests/sharding/server_status_crud_metrics.js4
-rw-r--r--jstests/sharding/set_default_rwc_before_stop_sharding_test.js2
-rw-r--r--jstests/sharding/shard1.js1
-rw-r--r--jstests/sharding/shard_drops_non_donor_indexes_before_first_chunk.js2
-rw-r--r--jstests/sharding/shard_removal_triggers_catalog_cache_invalidation.js1
-rw-r--r--jstests/sharding/sharding_balance2.js1
-rw-r--r--jstests/sharding/sharding_balance3.js1
-rw-r--r--jstests/sharding/single_shard_find_forwarding.js4
-rw-r--r--jstests/sharding/split_large_key.js1
-rw-r--r--jstests/sharding/transactions_error_labels.js6
-rw-r--r--jstests/sharding/transient_txn_error_labels.js3
-rw-r--r--jstests/sharding/transient_txn_error_labels_with_write_concern.js2
-rw-r--r--jstests/sharding/unfinished_migration_server_status.js2
-rw-r--r--jstests/sharding/update_compound_shard_key.js5
-rw-r--r--jstests/sharding/update_replace_id.js6
-rw-r--r--jstests/sharding/update_sharded.js5
-rw-r--r--jstests/sharding/upsert_sharded.js1
-rw-r--r--jstests/sharding/validate_commands_wc.js2
-rw-r--r--jstests/sharding/warm_up_connection_pool.js6
277 files changed, 400 insertions, 539 deletions
diff --git a/jstests/aggregation/bugs/exclusion_projection_does_not_affect_field_order.js b/jstests/aggregation/bugs/exclusion_projection_does_not_affect_field_order.js
index c781f1ede6d..4bc45bccef5 100644
--- a/jstests/aggregation/bugs/exclusion_projection_does_not_affect_field_order.js
+++ b/jstests/aggregation/bugs/exclusion_projection_does_not_affect_field_order.js
@@ -2,8 +2,6 @@
// changes.
//
// This is designed as a regression test for SERVER-37791.
-//
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/aggregation/dbref.js b/jstests/aggregation/dbref.js
index 2b350337119..06b91f6f12b 100644
--- a/jstests/aggregation/dbref.js
+++ b/jstests/aggregation/dbref.js
@@ -3,8 +3,7 @@
* and $lookup.
*
* Uses $lookup, which doesn't support sharded foreign collection.
- * DBRef fields aren't supported in agg pre 4.4.
- * @tags: [assumes_unsharded_collection, requires_fcv_44]
+ * @tags: [assumes_unsharded_collection]
*/
(function() {
diff --git a/jstests/change_streams/lookup_pre_image.js b/jstests/change_streams/lookup_pre_image.js
index 905ec6f1227..b56bf826ab7 100644
--- a/jstests/change_streams/lookup_pre_image.js
+++ b/jstests/change_streams/lookup_pre_image.js
@@ -2,11 +2,10 @@
* Tests the behaviour of the 'fullDocumentBeforeChange' argument to the $changeStream stage.
*
* @tags: [
+ * assumes_against_mongod_not_mongos,
+ * assumes_unsharded_collection,
* do_not_wrap_aggregations_in_facets,
* uses_multiple_connections,
- * requires_fcv_44,
- * assumes_against_mongod_not_mongos,
- * assumes_unsharded_collection
* ]
*/
(function() {
diff --git a/jstests/change_streams/required_as_first_stage.js b/jstests/change_streams/required_as_first_stage.js
index 756f41b1708..cf1a42b9bd9 100644
--- a/jstests/change_streams/required_as_first_stage.js
+++ b/jstests/change_streams/required_as_first_stage.js
@@ -3,7 +3,9 @@
// The passthrough logic that bundles operations into transactions needs to be able identify change
// stream aggregations so as to avoid running them in a transaction, but that code would fail to
// recognize the intentionally malformed aggergations that we test here.
-// @tags: [change_stream_does_not_expect_txns, requires_fcv_44]
+// @tags: [
+// change_stream_does_not_expect_txns,
+// ]
(function() {
"use strict";
diff --git a/jstests/concurrency/fsm_workloads/agg_out.js b/jstests/concurrency/fsm_workloads/agg_out.js
index 536b84f7ba0..f19af783ea7 100644
--- a/jstests/concurrency/fsm_workloads/agg_out.js
+++ b/jstests/concurrency/fsm_workloads/agg_out.js
@@ -12,7 +12,7 @@
* Unfortunately, there aren't very many assertions we can make here, so this is mostly to test that
* the server doesn't deadlock or crash.
*
- * @tags: [requires_capped, requires_fcv_44]
+ * @tags: [requires_capped]
*/
load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload
load('jstests/concurrency/fsm_workloads/agg_base.js'); // for $config
diff --git a/jstests/concurrency/fsm_workloads/agg_unionWith_interrupt_cleanup.js b/jstests/concurrency/fsm_workloads/agg_unionWith_interrupt_cleanup.js
index 912e26e80c0..dc97a3e596c 100644
--- a/jstests/concurrency/fsm_workloads/agg_unionWith_interrupt_cleanup.js
+++ b/jstests/concurrency/fsm_workloads/agg_unionWith_interrupt_cleanup.js
@@ -3,8 +3,7 @@
* opened on behalf of the $unionWith are killed when interrupted.
*
* @tags: [
- * uses_curop_agg_stage,
- * requires_fcv_44, # Uses $unionWith
+ * uses_curop_agg_stage
* ]
*/
'use strict';
diff --git a/jstests/concurrency/fsm_workloads/agg_union_with_chunk_migrations.js b/jstests/concurrency/fsm_workloads/agg_union_with_chunk_migrations.js
index 9fe7ed733a5..ff96cedf9bd 100644
--- a/jstests/concurrency/fsm_workloads/agg_union_with_chunk_migrations.js
+++ b/jstests/concurrency/fsm_workloads/agg_union_with_chunk_migrations.js
@@ -15,8 +15,7 @@
* requires_sharding,
* assumes_balancer_off,
* assumes_autosplit_off,
- * requires_non_retryable_writes,
- * requires_fcv_44, # Uses $unionWith.
+ * requires_non_retryable_writes
* ]
*/
load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload
diff --git a/jstests/concurrency/fsm_workloads/collmod_writeconflict.js b/jstests/concurrency/fsm_workloads/collmod_writeconflict.js
index e10cde9cd01..3aacc26b505 100644
--- a/jstests/concurrency/fsm_workloads/collmod_writeconflict.js
+++ b/jstests/concurrency/fsm_workloads/collmod_writeconflict.js
@@ -4,8 +4,6 @@
* collmod_writeconflict.js
*
* Ensures collMod successfully handles WriteConflictExceptions.
- *
- * @tags: [requires_fcv_44]
*/
load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload
load('jstests/concurrency/fsm_workloads/collmod.js'); // for $config
diff --git a/jstests/concurrency/fsm_workloads/map_reduce_with_chunk_migrations.js b/jstests/concurrency/fsm_workloads/map_reduce_with_chunk_migrations.js
index 1fa5acf8fe5..645fa93b50d 100644
--- a/jstests/concurrency/fsm_workloads/map_reduce_with_chunk_migrations.js
+++ b/jstests/concurrency/fsm_workloads/map_reduce_with_chunk_migrations.js
@@ -15,8 +15,7 @@
* assumes_autosplit_off,
* requires_non_retryable_writes,
* # mapReduce does not support afterClusterTime.
- * does_not_support_causal_consistency,
- * requires_fcv_44
+ * does_not_support_causal_consistency
* ]
*/
load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload
diff --git a/jstests/concurrency/fsm_workloads/random_moveChunk_index_operations.js b/jstests/concurrency/fsm_workloads/random_moveChunk_index_operations.js
index d30ef52abed..5353900a067 100644
--- a/jstests/concurrency/fsm_workloads/random_moveChunk_index_operations.js
+++ b/jstests/concurrency/fsm_workloads/random_moveChunk_index_operations.js
@@ -6,7 +6,7 @@
*
* @tags: [requires_sharding, assumes_balancer_off, assumes_autosplit_off,
* requires_non_retryable_writes, requires_non_retryable_commands, # for moveChunk and collMod.
- * requires_fcv_44];
+ * ];
*/
load("jstests/concurrency/fsm_workload_helpers/chunks.js"); // for chunk helpers
diff --git a/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key.js b/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key.js
index 37e5a770eab..ce24aa2a177 100644
--- a/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key.js
+++ b/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key.js
@@ -5,7 +5,7 @@
* includes multi=true updates and multi=false updates with exact _id queries.
*
* @tags: [requires_sharding, assumes_balancer_off, assumes_autosplit_off,
- * requires_non_retryable_writes, uses_transactions, requires_fcv_44];
+ * requires_non_retryable_writes, uses_transactions];
*/
load('jstests/concurrency/fsm_libs/extend_workload.js');
load('jstests/concurrency/fsm_workloads/random_moveChunk_base.js');
diff --git a/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_delete_transaction.js b/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_delete_transaction.js
index c725e65d586..4d20c6ea6eb 100644
--- a/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_delete_transaction.js
+++ b/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_delete_transaction.js
@@ -14,7 +14,6 @@
* # therefore unsafe to automatically run inside a multi-statement transaction because its
* # progress will continually be interrupted.
* operations_longer_than_stepdown_interval_in_txns,
- * requires_fcv_44,
* requires_non_retryable_writes,
* requires_sharding,
* uses_transactions,
diff --git a/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_update_transaction.js b/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_update_transaction.js
index 54b3f83f5fe..64884f34df3 100644
--- a/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_update_transaction.js
+++ b/jstests/concurrency/fsm_workloads/random_moveChunk_refine_collection_shard_key_broadcast_update_transaction.js
@@ -14,7 +14,6 @@
* # therefore unsafe to automatically run inside a multi-statement transaction because its
* # progress will continually be interrupted.
* operations_longer_than_stepdown_interval_in_txns,
- * requires_fcv_44,
* requires_non_retryable_writes,
* requires_sharding,
* uses_transactions,
diff --git a/jstests/concurrency/fsm_workloads/refine_collection_shard_key_crud_ops.js b/jstests/concurrency/fsm_workloads/refine_collection_shard_key_crud_ops.js
index 21c6a4d665e..c0b4d9326e2 100644
--- a/jstests/concurrency/fsm_workloads/refine_collection_shard_key_crud_ops.js
+++ b/jstests/concurrency/fsm_workloads/refine_collection_shard_key_crud_ops.js
@@ -3,7 +3,7 @@
/**
* Runs refineCollectionShardKey and CRUD operations concurrently.
*
- * @tags: [requires_persistence, requires_sharding, requires_fcv_44]
+ * @tags: [requires_persistence, requires_sharding]
*/
load('jstests/libs/parallelTester.js');
diff --git a/jstests/concurrency/fsm_workloads/refine_collection_shard_key_zone_ops.js b/jstests/concurrency/fsm_workloads/refine_collection_shard_key_zone_ops.js
index 09d7fb8f322..22b2cf812a0 100644
--- a/jstests/concurrency/fsm_workloads/refine_collection_shard_key_zone_ops.js
+++ b/jstests/concurrency/fsm_workloads/refine_collection_shard_key_zone_ops.js
@@ -15,7 +15,7 @@
* - refineCollectionShardKey - Refines the collection's shard key and decreases the latch count
* such that the next latch collection will be targeted by the test.
*
- * @tags: [requires_persistence, requires_sharding, requires_fcv_44]
+ * @tags: [requires_persistence, requires_sharding]
*/
load('jstests/libs/parallelTester.js');
diff --git a/jstests/concurrency/fsm_workloads/reindex_writeconflict.js b/jstests/concurrency/fsm_workloads/reindex_writeconflict.js
index 0a77ff7b875..528425a635b 100644
--- a/jstests/concurrency/fsm_workloads/reindex_writeconflict.js
+++ b/jstests/concurrency/fsm_workloads/reindex_writeconflict.js
@@ -4,8 +4,6 @@
* reindex_writeconflict.js
*
* Ensures reIndex successfully handles WriteConflictExceptions.
- *
- * @tags: [requires_fcv_44]
*/
var $config = (function() {
var states = {
diff --git a/jstests/core/apitest_dbcollection.js b/jstests/core/apitest_dbcollection.js
index 2c91c91877b..9bdbb8d0f91 100644
--- a/jstests/core/apitest_dbcollection.js
+++ b/jstests/core/apitest_dbcollection.js
@@ -3,10 +3,9 @@
* Tests for the db collection
*
* @tags: [
- * requires_fastcount,
- * requires_collstats,
- * requires_capped,
- * requires_fcv_44,
+ * requires_capped,
+ * requires_collstats,
+ * requires_fastcount,
* ]
*/
diff --git a/jstests/core/array_comparison_correctness.js b/jstests/core/array_comparison_correctness.js
index 06509ecf1c7..5fb1e6bad0e 100644
--- a/jstests/core/array_comparison_correctness.js
+++ b/jstests/core/array_comparison_correctness.js
@@ -1,8 +1,7 @@
-/*
+/**
* Demonstrate the expected behavior of $lt and $gt comparisons involving arrays. This is only
* tested without an index, results between index and non-index behavior are compared in
* array_index_and_nonIndex_consistent.js
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/core/array_index_and_nonIndex_consistent.js b/jstests/core/array_index_and_nonIndex_consistent.js
index 9647bfa65d3..4e57b73286d 100644
--- a/jstests/core/array_index_and_nonIndex_consistent.js
+++ b/jstests/core/array_index_and_nonIndex_consistent.js
@@ -1,7 +1,6 @@
-/*
+/**
* Make sure that $gt and $lt queries return the same results regardless of whether there is a
* multikey index.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/core/array_match4.js b/jstests/core/array_match4.js
index dafbca8f4f9..821e9a4f4eb 100644
--- a/jstests/core/array_match4.js
+++ b/jstests/core/array_match4.js
@@ -1,4 +1,3 @@
-// @tags: [requires_fcv_44]
var t = db.array_match4;
t.drop();
diff --git a/jstests/core/background_validation.js b/jstests/core/background_validation.js
index 3791f4d7dce..3de41bd8032 100644
--- a/jstests/core/background_validation.js
+++ b/jstests/core/background_validation.js
@@ -12,8 +12,6 @@
* does_not_support_stepdowns,
* # Checkpoint cursors cannot be open in lsm.
* does_not_support_wiredtiger_lsm,
- * # Background validation will be first available in v4.4.
- * requires_fcv_44,
* # inMemory does not have checkpoints; background validation only runs on a checkpoint.
* requires_persistence,
* # Background validation is only supported by WT.
diff --git a/jstests/core/bypass_doc_validation.js b/jstests/core/bypass_doc_validation.js
index 45d877a0fad..2763747ea7f 100644
--- a/jstests/core/bypass_doc_validation.js
+++ b/jstests/core/bypass_doc_validation.js
@@ -2,9 +2,8 @@
// does_not_support_stepdowns,
// requires_fastcount,
// requires_non_retryable_commands,
-// uses_map_reduce_with_temp_collections,
-// requires_fcv_44,
// uses_$out,
+// uses_map_reduce_with_temp_collections,
// ]
/**
diff --git a/jstests/core/check_shard_index.js b/jstests/core/check_shard_index.js
index fbf77dfd47b..f187a6210d0 100644
--- a/jstests/core/check_shard_index.js
+++ b/jstests/core/check_shard_index.js
@@ -1,4 +1,8 @@
-// @tags: [requires_non_retryable_writes, requires_fastcount, requires_fcv_44, requires_sharding]
+// @tags: [
+// requires_fastcount,
+// requires_non_retryable_writes,
+// requires_sharding,
+// ]
// -------------------------
// CHECKSHARDINGINDEX TEST UTILS
diff --git a/jstests/core/collation.js b/jstests/core/collation.js
index 73ee2229b87..e69fb01de22 100644
--- a/jstests/core/collation.js
+++ b/jstests/core/collation.js
@@ -1,14 +1,10 @@
// Cannot implicitly shard accessed collections because of collection existing when none
// expected.
-// Tagged with requires_fcv_44 due to change in the implementation of the returnKey query
-// modifier, along with stricter rules for $-prefixed field name, which are not compatible
-// with older versions.
// @tags: [
// assumes_no_implicit_collection_creation_after_drop,
// does_not_support_stepdowns,
// requires_non_retryable_commands,
// requires_non_retryable_writes,
-// requires_fcv_44
// ]
// Integration tests for the collation feature.
diff --git a/jstests/core/collation_plan_cache.js b/jstests/core/collation_plan_cache.js
index 909b9a48c56..50e6921c91b 100644
--- a/jstests/core/collation_plan_cache.js
+++ b/jstests/core/collation_plan_cache.js
@@ -1,15 +1,13 @@
// Integration testing for the plan cache and index filter commands with collation.
//
// @tags: [
+// assumes_read_concern_unchanged,
// # This test attempts to perform queries and introspect the server's plan cache entries. The
// # former operation may be routed to a secondary in the replica set, whereas the latter must be
// # routed to the primary.
// assumes_read_preference_unchanged,
-// assumes_read_concern_unchanged,
-// does_not_support_stepdowns,
// assumes_unsharded_collection,
-// # Sharding support for $planCacheStats requires all nodes to be binary version 4.4.
-// requires_fcv_44,
+// does_not_support_stepdowns,
// ]
(function() {
'use strict';
diff --git a/jstests/core/comment_field.js b/jstests/core/comment_field.js
index 036c11a19c1..60345f10ad5 100644
--- a/jstests/core/comment_field.js
+++ b/jstests/core/comment_field.js
@@ -7,7 +7,6 @@
* assumes_unsharded_collection,
* assumes_write_concern_unchanged,
* does_not_support_stepdowns,
- * requires_fcv_44,
* requires_profiling,
* uses_parallel_shell,
* ]
diff --git a/jstests/core/create_collection.js b/jstests/core/create_collection.js
index 2c139708e2e..9e0a988299a 100644
--- a/jstests/core/create_collection.js
+++ b/jstests/core/create_collection.js
@@ -1,8 +1,11 @@
// Cannot implicitly shard accessed collections because of collection existing when none
// expected.
// FCV4.4 is required for creating a collection with a long name.
-// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_capped,
-// assumes_against_mongod_not_mongos, requires_fcv_44]
+// @tags: [
+// assumes_against_mongod_not_mongos,
+// assumes_no_implicit_collection_creation_after_drop,
+// requires_capped,
+// ]
// Tests for the "create" command.
(function() {
diff --git a/jstests/core/create_indexes.js b/jstests/core/create_indexes.js
index 3e4b1e8d7ef..ae005388d8a 100644
--- a/jstests/core/create_indexes.js
+++ b/jstests/core/create_indexes.js
@@ -1,5 +1,7 @@
/**
- * @tags: [assumes_superuser_permissions, requires_fcv_44]
+ * @tags: [
+ * assumes_superuser_permissions,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/core/crud_ops_do_not_throw_locktimeout.js b/jstests/core/crud_ops_do_not_throw_locktimeout.js
index ceac45641cf..492374ab69a 100644
--- a/jstests/core/crud_ops_do_not_throw_locktimeout.js
+++ b/jstests/core/crud_ops_do_not_throw_locktimeout.js
@@ -5,8 +5,6 @@
* assumes_against_mongod_not_mongos,
* assumes_read_concern_unchanged,
* assumes_write_concern_unchanged,
- * # This test requires failpoint behavior not available in v4.2.
- * requires_fcv_44,
* uses_parallel_shell,
* ]
*/
diff --git a/jstests/core/dbref3.js b/jstests/core/dbref3.js
index c98e22ea36b..6a91a56da2a 100644
--- a/jstests/core/dbref3.js
+++ b/jstests/core/dbref3.js
@@ -1,9 +1,6 @@
// Make sure we only make a DBRef object for objects where the first field is a string named $ref
// and the second field is $id with any type. Only the first two fields matter for deciding if it
// is a DBRef. See http://docs.mongodb.org/manual/reference/database-references/#dbrefs.
-//
-// It is not until mongod v4.4 that we support $-prefixed field names in $project stages.
-// @tags: [requires_fcv_44]
var t = db.dbref3;
diff --git a/jstests/core/dbstats.js b/jstests/core/dbstats.js
index c1ceb33b707..f3670c12552 100644
--- a/jstests/core/dbstats.js
+++ b/jstests/core/dbstats.js
@@ -1,6 +1,8 @@
// Confirms that the dbStats command returns expected content.
//
-// @tags: [requires_dbstats, requires_fcv_44]
+// @tags: [
+// requires_dbstats,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/delete_hint.js b/jstests/core/delete_hint.js
index 1eae8a1937c..ea9cb2751f7 100644
--- a/jstests/core/delete_hint.js
+++ b/jstests/core/delete_hint.js
@@ -4,7 +4,10 @@
* - The hint option should support both the name of the index, and the object spec of the
* index.
*
- * @tags: [assumes_unsharded_collection, requires_non_retryable_writes, requires_fcv_44]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * requires_non_retryable_writes,
+ * ]
*/
(function() {
diff --git a/jstests/core/distinct_array1.js b/jstests/core/distinct_array1.js
index dc85ccafe8c..2d3a96a6af6 100644
--- a/jstests/core/distinct_array1.js
+++ b/jstests/core/distinct_array1.js
@@ -1,5 +1,3 @@
-// @tags: [requires_fcv_44]
-
t = db.distinct_array1;
t.drop();
diff --git a/jstests/core/distinct_with_hashed_index.js b/jstests/core/distinct_with_hashed_index.js
index d6c820ae2ab..0cd6afb5d2e 100644
--- a/jstests/core/distinct_with_hashed_index.js
+++ b/jstests/core/distinct_with_hashed_index.js
@@ -3,8 +3,10 @@
* of compound hashed indexes. In this test we also verify that the query planner uses
* 'DISTINCT_SCAN' when it is appropriate.
*
- * The compound hashed indexes and the optimization to use 'DISTINCT_SCAN' were added in 4.4.
- * @tags: [requires_fcv_44, assumes_unsharded_collection, does_not_support_stepdowns]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * does_not_support_stepdowns,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/doc_validation_invalid_validators.js b/jstests/core/doc_validation_invalid_validators.js
index cce915c472a..b816100b0a2 100644
--- a/jstests/core/doc_validation_invalid_validators.js
+++ b/jstests/core/doc_validation_invalid_validators.js
@@ -1,7 +1,9 @@
// 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_44]
+// @tags: [
+// assumes_no_implicit_collection_creation_after_drop,
+// requires_non_retryable_commands,
+// ]
// Verify invalid validator statements won't work and that we
// can't create validated collections on restricted databases.
diff --git a/jstests/core/elemMatchProjection.js b/jstests/core/elemMatchProjection.js
index ccb8687d69f..69685f6f9e1 100644
--- a/jstests/core/elemMatchProjection.js
+++ b/jstests/core/elemMatchProjection.js
@@ -1,4 +1,6 @@
-// @tags: [requires_getmore, requires_fcv_44]
+// @tags: [
+// requires_getmore,
+// ]
// Tests for $elemMatch projections and $ positional operator projection.
(function() {
"use strict";
diff --git a/jstests/core/explain_shell_helpers.js b/jstests/core/explain_shell_helpers.js
index 9a2b1fed140..3045debb594 100644
--- a/jstests/core/explain_shell_helpers.js
+++ b/jstests/core/explain_shell_helpers.js
@@ -2,13 +2,11 @@
* Cannot implicitly shard accessed collections because the explain output from a mongod when run
* against a sharded collection is wrapped in a "shards" object with keys for each shard.
*
- * @tags: [assumes_unsharded_collection,
- * does_not_support_stepdowns,
- * requires_fastcount,
- * # Projection push down works differently between 4.2 and 4.4. explain() provides a
- * # different output between the two versions. This test expects only the 4.4 version
- * # output.
- * requires_fcv_44]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * does_not_support_stepdowns,
+ * requires_fastcount,
+ * ]
*/
// Tests for the .explain() shell helper, which provides syntactic sugar for the explain command.
diff --git a/jstests/core/explain_sort_type.js b/jstests/core/explain_sort_type.js
index c5c772993f1..38165be32a2 100644
--- a/jstests/core/explain_sort_type.js
+++ b/jstests/core/explain_sort_type.js
@@ -3,14 +3,11 @@
* "default".
*
* @tags: [
- * # The distinction between the "simple" and "default" sort algorithms was introduced in version
- * # should never run against a 4.2 node.
- * requires_fcv_44,
- * # Shard filtering may be required if the collection is sharded, which could affect the query
- * # planner's selection of the "simple" versus "default" sort algorithm.
- * assumes_unsharded_collection,
- * # This test uses a non-retryable multi-update command.
- * requires_non_retryable_writes,
+ * # Shard filtering may be required if the collection is sharded, which could affect the query
+ * # planner's selection of the "simple" versus "default" sort algorithm.
+ * assumes_unsharded_collection,
+ * # This test uses a non-retryable multi-update command.
+ * requires_non_retryable_writes,
* ]
*/
(function() {
diff --git a/jstests/core/failcommand_failpoint.js b/jstests/core/failcommand_failpoint.js
index 92a270203b1..e76a72c2c19 100644
--- a/jstests/core/failcommand_failpoint.js
+++ b/jstests/core/failcommand_failpoint.js
@@ -1,5 +1,9 @@
-/* Tests the "failCommand" failpoint.
- * @tags: [assumes_read_concern_unchanged, assumes_read_preference_unchanged, requires_fcv_44]
+/**
+ * Tests the "failCommand" failpoint.
+ * @tags: [
+ * assumes_read_concern_unchanged,
+ * assumes_read_preference_unchanged,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/find_and_modify.js b/jstests/core/find_and_modify.js
index df698f17811..56eae294568 100644
--- a/jstests/core/find_and_modify.js
+++ b/jstests/core/find_and_modify.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_fastcount, requires_fcv_44]
+// @tags: [
+// assumes_unsharded_collection,
+// requires_fastcount,
+// ]
t = db.find_and_modify;
t.drop();
diff --git a/jstests/core/find_and_modify_hint.js b/jstests/core/find_and_modify_hint.js
index c035f303ad0..57d0e9eca12 100644
--- a/jstests/core/find_and_modify_hint.js
+++ b/jstests/core/find_and_modify_hint.js
@@ -3,8 +3,11 @@
* - A bad argument to the hint option should raise an error.
* - The hint option should support both the name of the index, and an index spec object.
*
- * @tags: [assumes_unsharded_collection, requires_non_retryable_writes, requires_find_command,
- * requires_fcv_44]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * requires_find_command,
+ * requires_non_retryable_writes,
+ * ]
*/
(function() {
diff --git a/jstests/core/find_and_modify_server6865.js b/jstests/core/find_and_modify_server6865.js
index 196ddbe5074..1e154392ea9 100644
--- a/jstests/core/find_and_modify_server6865.js
+++ b/jstests/core/find_and_modify_server6865.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_44]
+// @tags: [
+// assumes_unsharded_collection,
+// ]
/**
* Test that projection with a positional operator works with findAndModify
diff --git a/jstests/core/find_projection_meta_errors.js b/jstests/core/find_projection_meta_errors.js
index 9fb199247db..e6cf661255b 100644
--- a/jstests/core/find_projection_meta_errors.js
+++ b/jstests/core/find_projection_meta_errors.js
@@ -1,5 +1,4 @@
// Basic tests for errors when parsing the $meta projection.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/core/finda.js b/jstests/core/finda.js
index 5399c69473c..50d04fb8b2c 100644
--- a/jstests/core/finda.js
+++ b/jstests/core/finda.js
@@ -1,4 +1,6 @@
-// @tags: [requires_getmore, requires_fcv_44]
+// @tags: [
+// requires_getmore,
+// ]
// Tests where the QueryOptimizerCursor enters takeover mode during a query rather than a get more.
diff --git a/jstests/core/fts_index_wildcard_and_weight.js b/jstests/core/fts_index_wildcard_and_weight.js
index 9397be5cb9a..936d36c8a94 100644
--- a/jstests/core/fts_index_wildcard_and_weight.js
+++ b/jstests/core/fts_index_wildcard_and_weight.js
@@ -1,6 +1,5 @@
// Test that on a text index that matches all fields does not use a weight from a named field.
// This test was designed to reproduce SERVER-45363.
-// @tags: [requires_fcv_44]
//
(function() {
"use strict";
diff --git a/jstests/core/fts_proj.js b/jstests/core/fts_proj.js
index 2834b4d03eb..cc89f84442a 100644
--- a/jstests/core/fts_proj.js
+++ b/jstests/core/fts_proj.js
@@ -1,9 +1,5 @@
/**
* Projection tests for FTS queries.
- *
- * Requires all nodes to be binary version 4.4, since this file includes test for additional
- * validation of the query added in 4.4.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/fts_projection.js b/jstests/core/fts_projection.js
index 5ef192203f2..3d08cb953f0 100644
--- a/jstests/core/fts_projection.js
+++ b/jstests/core/fts_projection.js
@@ -1,5 +1,4 @@
// Test $text with $textScore projection.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/core/fts_score_sort.js b/jstests/core/fts_score_sort.js
index 2a45d441677..b9103ad0c6b 100644
--- a/jstests/core/fts_score_sort.js
+++ b/jstests/core/fts_score_sort.js
@@ -1,7 +1,4 @@
// Test sorting with text score metadata.
-//
-// Includes tests for changes to validation around "textScore" $meta that were introduced in 4.4.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/core/hashed_index_collation.js b/jstests/core/hashed_index_collation.js
index 6b53002bdb7..f6c8382c3bc 100644
--- a/jstests/core/hashed_index_collation.js
+++ b/jstests/core/hashed_index_collation.js
@@ -3,7 +3,10 @@
*
* The tags below are necessary because collation requires that we use read/write commands rather
* than legacy operations.
- * @tags: [requires_find_command, assumes_unsharded_collection, requires_fcv_44]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * requires_find_command,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/hashed_index_covered_queries.js b/jstests/core/hashed_index_covered_queries.js
index 218359477e0..0f04e469785 100644
--- a/jstests/core/hashed_index_covered_queries.js
+++ b/jstests/core/hashed_index_covered_queries.js
@@ -2,7 +2,9 @@
* Test to verify that hashed indexes can cover projections when appropriate. The queries can be
* covered when neither the query predicate nor projection uses a hashed field.
*
- * @tags: [assumes_unsharded_collection, requires_fcv_44]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/hashed_index_queries.js b/jstests/core/hashed_index_queries.js
index 3174d2234d4..719959a2025 100644
--- a/jstests/core/hashed_index_queries.js
+++ b/jstests/core/hashed_index_queries.js
@@ -1,8 +1,6 @@
/**
* Test to verify the behaviour of find, count, distinct operations in the presence of compound
* hashed indexes.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/hashed_index_queries_with_logical_operators.js b/jstests/core/hashed_index_queries_with_logical_operators.js
index 9249c54aaf1..7514e86aaa4 100644
--- a/jstests/core/hashed_index_queries_with_logical_operators.js
+++ b/jstests/core/hashed_index_queries_with_logical_operators.js
@@ -3,8 +3,6 @@
* like $or, $not etc. In particular, the hashed field of a compound hashed index cannot generate
* bounds for $not predicates, since we may incorrectly filter out matching documents that collide
* with the same hash value as the one given in the predicate.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/hashed_index_sort.js b/jstests/core/hashed_index_sort.js
index 30a7048cff8..ce2c2802188 100644
--- a/jstests/core/hashed_index_sort.js
+++ b/jstests/core/hashed_index_sort.js
@@ -2,7 +2,9 @@
* Test to verify the behaviour of compound hashed indexes when 'sort' operation is used along with
* the 'find' command. The test verifies compound hashed index with hashed prefix and non-hashed
* prefix.
- * @tags: [assumes_unsharded_collection, requires_fcv_44]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/hashed_index_with_arrays.js b/jstests/core/hashed_index_with_arrays.js
index afbd241fd7d..8d6cc157eb6 100644
--- a/jstests/core/hashed_index_with_arrays.js
+++ b/jstests/core/hashed_index_with_arrays.js
@@ -1,7 +1,5 @@
/**
* Test to verify the behaviour of compound hashed indexes.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/hashed_partial_and_sparse_index.js b/jstests/core/hashed_partial_and_sparse_index.js
index d42ddfc8f86..cc6b5f30388 100644
--- a/jstests/core/hashed_partial_and_sparse_index.js
+++ b/jstests/core/hashed_partial_and_sparse_index.js
@@ -2,8 +2,6 @@
* Tests to verify that the queries return correct results in the presence of partial hashed
* index and sparse index. The test verifies compound hashed index with hashed prefix and non-hashed
* prefix.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/id_partial_projection.js b/jstests/core/id_partial_projection.js
index d53c8c952fc..7735e710b98 100644
--- a/jstests/core/id_partial_projection.js
+++ b/jstests/core/id_partial_projection.js
@@ -1,7 +1,6 @@
/**
* Tests partial inclusion/exclusion of _id.
* See SERVER-7502 for details.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/idhack.js b/jstests/core/idhack.js
index 0d4a1528f2a..a06e1fd287b 100644
--- a/jstests/core/idhack.js
+++ b/jstests/core/idhack.js
@@ -1,4 +1,7 @@
-// @tags: [requires_non_retryable_writes, assumes_balancer_off, requires_fcv_44]
+// @tags: [
+// assumes_balancer_off,
+// requires_non_retryable_writes,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/index_bounds_maxkey.js b/jstests/core/index_bounds_maxkey.js
index 2786d841765..1b59340fffe 100644
--- a/jstests/core/index_bounds_maxkey.js
+++ b/jstests/core/index_bounds_maxkey.js
@@ -1,5 +1,8 @@
// Index bounds generation tests for MaxKey values.
-// @tags: [requires_non_retryable_writes, assumes_unsharded_collection, requires_fcv_44]
+// @tags: [
+// assumes_unsharded_collection,
+// requires_non_retryable_writes,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/index_bounds_minkey.js b/jstests/core/index_bounds_minkey.js
index 5dd6e19e2cb..78efd322b12 100644
--- a/jstests/core/index_bounds_minkey.js
+++ b/jstests/core/index_bounds_minkey.js
@@ -1,5 +1,8 @@
// Index bounds generation tests for MinKey values.
-// @tags: [requires_non_retryable_writes, assumes_unsharded_collection, requires_fcv_44]
+// @tags: [
+// assumes_unsharded_collection,
+// requires_non_retryable_writes,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/index_diag.js b/jstests/core/index_diag.js
index a3afa5002da..686a9e34b02 100644
--- a/jstests/core/index_diag.js
+++ b/jstests/core/index_diag.js
@@ -1,4 +1,6 @@
-// @tags: [assumes_balancer_off, requires_fcv_44]
+// @tags: [
+// assumes_balancer_off,
+// ]
load("jstests/libs/fixture_helpers.js");
t = db.index_diag;
diff --git a/jstests/core/index_filter_commands.js b/jstests/core/index_filter_commands.js
index e3b4741ace8..9eb5e5f6688 100644
--- a/jstests/core/index_filter_commands.js
+++ b/jstests/core/index_filter_commands.js
@@ -30,8 +30,6 @@
* assumes_read_concern_unchanged,
* does_not_support_stepdowns,
* assumes_unsharded_collection,
- * # Sharding support for $planCacheStats requires all nodes to be binary version 4.4.
- * requires_fcv_44,
* ]
*/
diff --git a/jstests/core/index_plugins.js b/jstests/core/index_plugins.js
index 56681d9a642..3cd1c42f627 100644
--- a/jstests/core/index_plugins.js
+++ b/jstests/core/index_plugins.js
@@ -1,6 +1,4 @@
// Test creation of compound indexes with special index types.
-// FCV4.4 is required for compound hashed indexes.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
const coll = db.index_plugins;
diff --git a/jstests/core/internal_rename_if_options_and_indexes_match.js b/jstests/core/internal_rename_if_options_and_indexes_match.js
index 527de754035..081da3691e6 100644
--- a/jstests/core/internal_rename_if_options_and_indexes_match.js
+++ b/jstests/core/internal_rename_if_options_and_indexes_match.js
@@ -2,10 +2,9 @@
//
// This command cannot be run against mongos.
// @tags: [
-// assumes_against_mongod_not_mongos,
-// incompatible_with_embedded,
-// requires_capped,
-// requires_fcv_44,
+// assumes_against_mongod_not_mongos,
+// incompatible_with_embedded,
+// requires_capped,
// ]
(function() {
diff --git a/jstests/core/map_reduce_validation.js b/jstests/core/map_reduce_validation.js
index 2bb25868729..953bc360626 100644
--- a/jstests/core/map_reduce_validation.js
+++ b/jstests/core/map_reduce_validation.js
@@ -1,9 +1,8 @@
// Tests that invalid options to the mapReduce command are rejected.
// @tags: [
// assumes_no_implicit_collection_creation_after_drop,
-// uses_map_reduce_with_temp_collections,
// does_not_support_stepdowns,
-// requires_fcv_44
+// uses_map_reduce_with_temp_collections,
// ]
(function() {
"use strict";
diff --git a/jstests/core/mr_agg_explain.js b/jstests/core/mr_agg_explain.js
index 2199ef7cfd5..e3d7a1be612 100644
--- a/jstests/core/mr_agg_explain.js
+++ b/jstests/core/mr_agg_explain.js
@@ -1,6 +1,8 @@
/**
* Tests that running mapReduce with explain behaves as expected.
- * @tags: [incompatible_with_embedded, requires_fcv_44]
+ * @tags: [
+ * incompatible_with_embedded,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/mr_correctness.js b/jstests/core/mr_correctness.js
index d26bc2cf5f3..9dc6aaf1c4c 100644
--- a/jstests/core/mr_correctness.js
+++ b/jstests/core/mr_correctness.js
@@ -6,9 +6,6 @@
// requires_fastcount,
// requires_getmore,
// uses_map_reduce_with_temp_collections,
-// # Map Reduce before 4.4. does not support outputting to a sharded collection whose shard key is
-// # {_id: "hashed"}.
-// requires_fcv_44,
// ]
(function() {
"use strict";
diff --git a/jstests/core/mr_fail_invalid_js.js b/jstests/core/mr_fail_invalid_js.js
index 0bdef235bec..01b422c1fe3 100644
--- a/jstests/core/mr_fail_invalid_js.js
+++ b/jstests/core/mr_fail_invalid_js.js
@@ -1,12 +1,9 @@
// Tests that mapReduce fails gracefully when given a map or reduce function which fails in some
// way.
-// MapReduce uses $merge to merge in 4.4 which errors on missing fields, so this test cannot be run
-// in multiversion.
// @tags: [
// # mapReduce does not support afterClusterTime.
// does_not_support_causal_consistency,
// does_not_support_stepdowns,
-// requires_fcv_44,
// uses_map_reduce_with_temp_collections,
// ]
(function() {
diff --git a/jstests/core/mr_null_arguments.js b/jstests/core/mr_null_arguments.js
index fb51a8d580a..5cca8210656 100644
--- a/jstests/core/mr_null_arguments.js
+++ b/jstests/core/mr_null_arguments.js
@@ -6,7 +6,6 @@
// does_not_support_causal_consistency,
// does_not_support_stepdowns,
// uses_map_reduce_with_temp_collections,
-// requires_fcv_44,
// ]
(function() {
"use strict";
diff --git a/jstests/core/mr_reduce_merge_other_db.js b/jstests/core/mr_reduce_merge_other_db.js
index 1bb8a4e3e0a..80edc601aa2 100644
--- a/jstests/core/mr_reduce_merge_other_db.js
+++ b/jstests/core/mr_reduce_merge_other_db.js
@@ -3,7 +3,6 @@
// does_not_support_causal_consistency,
// does_not_support_stepdowns,
// uses_map_reduce_with_temp_collections,
-// requires_fcv_44,
// ]
(function() {
"use strict";
diff --git a/jstests/core/mr_scope.js b/jstests/core/mr_scope.js
index 75c8c52ed38..017d39b9268 100644
--- a/jstests/core/mr_scope.js
+++ b/jstests/core/mr_scope.js
@@ -4,9 +4,6 @@
// does_not_support_causal_consistency,
// does_not_support_stepdowns,
// uses_map_reduce_with_temp_collections,
-// # Map Reduce before 4.4. does not support outputting to a sharded collection whose shard key is
-// # {_id: "hashed"}.
-// requires_fcv_44,
// ]
(function() {
"use strict";
diff --git a/jstests/core/natural.js b/jstests/core/natural.js
index 75ede89e648..6219515c0ef 100644
--- a/jstests/core/natural.js
+++ b/jstests/core/natural.js
@@ -1,7 +1,4 @@
// Tests for $natural sort and $natural hint.
-//
-// Includes tests for improved validation of $natural sort/hint added in 4.4.
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/core/notablescan.js b/jstests/core/notablescan.js
index a384d0d8c2c..2bbc300238d 100644
--- a/jstests/core/notablescan.js
+++ b/jstests/core/notablescan.js
@@ -8,7 +8,6 @@
// assumes_read_preference_unchanged,
// assumes_superuser_permissions,
// does_not_support_stepdowns,
-// requires_fcv_44,
// ]
t = db.test_notablescan;
diff --git a/jstests/core/notablescan_capped.js b/jstests/core/notablescan_capped.js
index 35646326a4a..c4b8fb3474e 100644
--- a/jstests/core/notablescan_capped.js
+++ b/jstests/core/notablescan_capped.js
@@ -9,7 +9,6 @@
// assumes_superuser_permissions,
// does_not_support_stepdowns,
// requires_capped,
-// requires_fcv_44,
// ]
t = db.test_notablescan_capped;
diff --git a/jstests/core/or4.js b/jstests/core/or4.js
index efc0f941679..8cb5163544a 100644
--- a/jstests/core/or4.js
+++ b/jstests/core/or4.js
@@ -3,9 +3,6 @@
// requires_fastcount,
// requires_getmore,
// requires_non_retryable_writes,
-// # Map Reduce before 4.4. does not support outputting to a sharded collection whose shard key is
-// # {_id: "hashed"}.
-// requires_fcv_44,
// ]
load("jstests/aggregation/extras/utils.js"); // For resultsEq
diff --git a/jstests/core/plan_cache_clear.js b/jstests/core/plan_cache_clear.js
index 934543fda6e..250e07be952 100644
--- a/jstests/core/plan_cache_clear.js
+++ b/jstests/core/plan_cache_clear.js
@@ -11,8 +11,6 @@
// does_not_support_stepdowns,
// assumes_balancer_off,
// assumes_unsharded_collection,
-// # Sharding support for $planCacheStats requires all nodes to be binary version 4.4.
-// requires_fcv_44,
// ]
(function() {
diff --git a/jstests/core/plan_cache_list_plans.js b/jstests/core/plan_cache_list_plans.js
index 9187ef13565..13c28cfb1a8 100644
--- a/jstests/core/plan_cache_list_plans.js
+++ b/jstests/core/plan_cache_list_plans.js
@@ -1,19 +1,17 @@
// Tests for using $planCacheStats to list cached plans.
//
// @tags: [
+// # If the balancer is on and chunks are moved, the plan cache can have entries with isActive:
+// # false when the test assumes they are true because the query has already been run many times.
+// assumes_balancer_off,
+// assumes_read_concern_unchanged,
// # This test attempts to perform queries and introspect the server's plan cache entries. The
// # former operation may be routed to a secondary in the replica set, whereas the latter must be
// # routed to the primary.
// assumes_read_preference_unchanged,
-// assumes_read_concern_unchanged,
+// assumes_unsharded_collection,
// does_not_support_stepdowns,
-// # If the balancer is on and chunks are moved, the plan cache can have entries with isActive:
-// # 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,
-// assumes_unsharded_collection,
-// # Sharding support for $planCacheStats requires all nodes to be binary version 4.4.
-// requires_fcv_44,
// ]
(function() {
diff --git a/jstests/core/plan_cache_list_shapes.js b/jstests/core/plan_cache_list_shapes.js
index 90dbf9d8108..e682f34ecd1 100644
--- a/jstests/core/plan_cache_list_shapes.js
+++ b/jstests/core/plan_cache_list_shapes.js
@@ -11,8 +11,6 @@
// does_not_support_stepdowns,
// assumes_balancer_off,
// assumes_unsharded_collection,
-// # Sharding support for $planCacheStats requires all nodes to be binary version 4.4.
-// requires_fcv_44,
// ]
(function() {
const coll = db.jstests_plan_cache_list_shapes;
diff --git a/jstests/core/plan_cache_shell_helpers.js b/jstests/core/plan_cache_shell_helpers.js
index a472a19ee8c..aba0d20047e 100644
--- a/jstests/core/plan_cache_shell_helpers.js
+++ b/jstests/core/plan_cache_shell_helpers.js
@@ -1,17 +1,15 @@
// Test the shell helpers which wrap the plan cache commands.
//
// @tags: [
+// assumes_balancer_off,
+// assumes_read_concern_unchanged,
// # This test attempts to perform queries and introspect the server's plan cache entries. The
// # former operation may be routed to a secondary in the replica set, whereas the latter must be
-// # routed to the primary.
-// # If all chunks are moved off of a shard, it can cause the plan cache to miss commands.
+// # routed to the primary. If all chunks are moved off of a shard, it can cause the plan cache to
+// # miss commands.
// assumes_read_preference_unchanged,
-// assumes_read_concern_unchanged,
-// does_not_support_stepdowns,
-// assumes_balancer_off,
// assumes_unsharded_collection,
-// # Sharding support for $planCacheStats requires all nodes to be binary version 4.4.
-// requires_fcv_44,
+// does_not_support_stepdowns,
// ]
(function() {
var coll = db.jstests_plan_cache_shell_helpers;
diff --git a/jstests/core/plan_cache_stats_shard_and_host.js b/jstests/core/plan_cache_stats_shard_and_host.js
index 500e2265cc8..573050ec41e 100644
--- a/jstests/core/plan_cache_stats_shard_and_host.js
+++ b/jstests/core/plan_cache_stats_shard_and_host.js
@@ -2,13 +2,10 @@
// for each plan cache entry when appropriate.
//
// @tags: [
-// assumes_read_preference_unchanged,
+// assumes_balancer_off,
// assumes_read_concern_unchanged,
+// assumes_read_preference_unchanged,
// does_not_support_stepdowns,
-// assumes_balancer_off,
-// # The "shard" and "host" fields were added in 4.4 as part of sharding support for
-// # $planCacheStats.
-// requires_fcv_44,
// ]
(function() {
"use strict";
diff --git a/jstests/core/positional_projection_multiple_array_fields.js b/jstests/core/positional_projection_multiple_array_fields.js
index 30a02bb5201..dbeba9fcced 100644
--- a/jstests/core/positional_projection_multiple_array_fields.js
+++ b/jstests/core/positional_projection_multiple_array_fields.js
@@ -1,10 +1,9 @@
-/*
+/**
* Test using the positional projection on documents which have multiple array fields.
* See SERVER-6864 for details.
*
* Note that the user's query/filter document may only contain _ONE_ array field for positional
* projection to work correctly.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/profile_mapreduce.js b/jstests/core/profile_mapreduce.js
index feb9d417c1b..608971f8684 100644
--- a/jstests/core/profile_mapreduce.js
+++ b/jstests/core/profile_mapreduce.js
@@ -4,8 +4,6 @@
// does_not_support_stepdowns,
// requires_profiling,
// uses_map_reduce_with_temp_collections,
-// TODO SERVER-47060 Unblacklist once FCV constants are updated for 4.6.
-// requires_fcv_44,
// ]
// Confirms that profiled findAndModify execution contains all expected metrics with proper values.
diff --git a/jstests/core/projection_conflicts.js b/jstests/core/projection_conflicts.js
index 906a0d754c9..a77dcd9f843 100644
--- a/jstests/core/projection_conflicts.js
+++ b/jstests/core/projection_conflicts.js
@@ -1,6 +1,5 @@
/**
* Test projections which have conflicts in them.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/core/projection_meta_index_key.js b/jstests/core/projection_meta_index_key.js
index b245421496f..01f6d3c7876 100644
--- a/jstests/core/projection_meta_index_key.js
+++ b/jstests/core/projection_meta_index_key.js
@@ -1,9 +1,5 @@
// Test that indexKey $meta projection works in find and aggregate commands and produces correct
// result depending on whether index key metadata is available or not.
-//
-// Support of indexKey $meta is a new feature in 4.4 which is not planned for back port, hence we
-// need to blacklist it from multiversion testing.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/core/return_key.js b/jstests/core/return_key.js
index bb91a810223..ef4d32497dd 100644
--- a/jstests/core/return_key.js
+++ b/jstests/core/return_key.js
@@ -1,7 +1,9 @@
// Cannot implicitly shard accessed collections because queries on a sharded collection are not
// able to be covered when they aren't on the shard key since the document needs to be fetched in
// order to apply the SHARDING_FILTER stage.
-// @tags: [assumes_unsharded_collection, requires_fcv_44]
+// @tags: [
+// assumes_unsharded_collection,
+// ]
/**
* Tests for returnKey.
diff --git a/jstests/core/rollback_index_drop.js b/jstests/core/rollback_index_drop.js
index ffd7b1c62be..ac97d090f83 100644
--- a/jstests/core/rollback_index_drop.js
+++ b/jstests/core/rollback_index_drop.js
@@ -3,7 +3,10 @@
//
// This test was designed to reproduce SERVER-38372.
//
-// @tags: [does_not_support_stepdowns, assumes_unsharded_collection, requires_fcv_44]
+// @tags: [
+// assumes_unsharded_collection,
+// does_not_support_stepdowns,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/sort_array.js b/jstests/core/sort_array.js
index a5b4347d45d..fccfe744a71 100644
--- a/jstests/core/sort_array.js
+++ b/jstests/core/sort_array.js
@@ -1,4 +1,7 @@
-// @tags: [does_not_support_stepdowns, requires_non_retryable_writes, requires_fcv_44]
+// @tags: [
+// does_not_support_stepdowns,
+// requires_non_retryable_writes,
+// ]
/**
* Tests for sorting documents by fields that contain arrays.
diff --git a/jstests/core/sort_with_meta_operator.js b/jstests/core/sort_with_meta_operator.js
index 195064dcb07..4208db3e212 100644
--- a/jstests/core/sort_with_meta_operator.js
+++ b/jstests/core/sort_with_meta_operator.js
@@ -1,7 +1,4 @@
// Tests to validate the input for sort on '$meta' operator.
-//
-// Require all nodes to be 4.4, since validation around $meta was relaxed in 4.4.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
const coll = db.sort_with_meta_operator;
diff --git a/jstests/core/sortl.js b/jstests/core/sortl.js
index 187130ffe58..23c2673b135 100644
--- a/jstests/core/sortl.js
+++ b/jstests/core/sortl.js
@@ -1,9 +1,5 @@
// Tests equality query on _id with a sort, intended to be tested on both mongos and mongod. For
// SERVER-20641.
-//
-// Always run on a fully upgraded cluster, so that {$meta: "sortKey"} projections use the newest
-// sort key format.
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/core/system_js_access.js b/jstests/core/system_js_access.js
index 71690d33d14..2ca0e182a73 100644
--- a/jstests/core/system_js_access.js
+++ b/jstests/core/system_js_access.js
@@ -1,5 +1,8 @@
// Tests that JavaScript functions stored in system.js are loaded on a per-expression basis.
-// @tags: [assumes_unsharded_collection, requires_non_retryable_writes, requires_fcv_44]
+// @tags: [
+// assumes_unsharded_collection,
+// requires_non_retryable_writes,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/txns/commands_in_txns_read_concern.js b/jstests/core/txns/commands_in_txns_read_concern.js
index 0368fa05720..4e40092107d 100644
--- a/jstests/core/txns/commands_in_txns_read_concern.js
+++ b/jstests/core/txns/commands_in_txns_read_concern.js
@@ -1,12 +1,12 @@
-/* Ensures createCollection and createIndexes are not permitted to run with a readConcern other than
+/**
+ * Ensures createCollection and createIndexes are not permitted to run with a readConcern other than
* `local` inside transactions.
*
- * @tags: [uses_transactions,
- * # Creating collections inside multi-document transactions is supported only in v4.4
- * # onwards.
- * requires_fcv_44,
- * assumes_no_implicit_collection_creation_after_drop,
- * uses_snapshot_read_concern]
+ * @tags: [
+ * assumes_no_implicit_collection_creation_after_drop,
+ * uses_snapshot_read_concern,
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/txns/concurrent_drops_and_creates.js b/jstests/core/txns/concurrent_drops_and_creates.js
index 4fc9d930edc..a8685881152 100644
--- a/jstests/core/txns/concurrent_drops_and_creates.js
+++ b/jstests/core/txns/concurrent_drops_and_creates.js
@@ -4,9 +4,8 @@
*
* @tags: [
* assumes_no_implicit_collection_creation_after_drop,
- * uses_transactions,
* uses_snapshot_read_concern,
- * requires_fcv_44
+ * uses_transactions,
* ]
*/
(function() {
diff --git a/jstests/core/txns/create_collection.js b/jstests/core/txns/create_collection.js
index c861154e3ee..6870e1f5991 100644
--- a/jstests/core/txns/create_collection.js
+++ b/jstests/core/txns/create_collection.js
@@ -1,10 +1,10 @@
-/* Tests simple cases of creating a collection inside a multi-document transaction, both
+/**
+ * Tests simple cases of creating a collection inside a multi-document transaction, both
* committing and aborting.
*
- * @tags: [uses_transactions,
- * # Creating collections inside multi-document transactions is supported only in v4.4
- * # onwards.
- * requires_fcv_44]
+ * @tags: [
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/txns/create_collection_parallel.js b/jstests/core/txns/create_collection_parallel.js
index a862e793043..dd63d89d417 100644
--- a/jstests/core/txns/create_collection_parallel.js
+++ b/jstests/core/txns/create_collection_parallel.js
@@ -1,9 +1,9 @@
-/* Tests parallel transactions with createCollections.
+/**
+ * Tests parallel transactions with createCollections.
*
- * @tags: [uses_transactions,
- * # Creating collections inside multi-document transactions is supported only in v4.4
- * # onwards.
- * requires_fcv_44]
+ * @tags: [
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/txns/create_existing_indexes.js b/jstests/core/txns/create_existing_indexes.js
index 9cda50a6164..ce1f6489291 100644
--- a/jstests/core/txns/create_existing_indexes.js
+++ b/jstests/core/txns/create_existing_indexes.js
@@ -1,10 +1,11 @@
-/* Tests that attempts to create indexes that already exist as of the createIndexes call are
+/**
+ * Tests that attempts to create indexes that already exist as of the createIndexes call are
* permitted inside multi-document transactions. Also test that attempts to create new
* indexes on existing collections are not permitted inside multi-document transactions.
*
- * @tags: [uses_transactions,
- * # Creating indexes inside multi-document transactions is supported only in v4.4 onwards.
- * requires_fcv_44]
+ * @tags: [
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/txns/create_indexes.js b/jstests/core/txns/create_indexes.js
index bdb88ecc13a..59f407a349f 100644
--- a/jstests/core/txns/create_indexes.js
+++ b/jstests/core/txns/create_indexes.js
@@ -1,10 +1,10 @@
-/* Tests simple cases of creating indexes inside a multi-document transaction, both
+/**
+ * Tests simple cases of creating indexes inside a multi-document transaction, both
* committing and aborting.
*
- * @tags: [uses_transactions,
- * # Creating collections inside multi-document transactions is supported only in v4.4
- * # onwards.
- * requires_fcv_44]
+ * @tags: [
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/txns/create_indexes_parallel.js b/jstests/core/txns/create_indexes_parallel.js
index 61a77e4a1ff..e089664f80f 100644
--- a/jstests/core/txns/create_indexes_parallel.js
+++ b/jstests/core/txns/create_indexes_parallel.js
@@ -1,9 +1,9 @@
-/* Tests parallel transactions with createIndexes.
+/**
+ * Tests parallel transactions with createIndexes.
*
- * @tags: [uses_transactions,
- * # Creating collections inside multi-document transactions is supported only in v4.4
- * # onwards.
- * requires_fcv_44]
+ * @tags: [
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/txns/implicit_collection_creation_in_txn.js b/jstests/core/txns/implicit_collection_creation_in_txn.js
index c02bcef9ed4..1c80bdb3cde 100644
--- a/jstests/core/txns/implicit_collection_creation_in_txn.js
+++ b/jstests/core/txns/implicit_collection_creation_in_txn.js
@@ -1,6 +1,8 @@
// Tests that it is allowed to implicitly create a collection using insert or upsert in a
// multi-document transaction.
-// @tags: [uses_transactions, requires_fcv_44]
+// @tags: [
+// uses_transactions,
+// ]
(function() {
"use strict";
diff --git a/jstests/core/txns/prepare_conflict.js b/jstests/core/txns/prepare_conflict.js
index b2c2071584c..0e7ee810c4e 100644
--- a/jstests/core/txns/prepare_conflict.js
+++ b/jstests/core/txns/prepare_conflict.js
@@ -1,7 +1,10 @@
/**
* Tests that prepare conflicts for prepared transactions are retried.
*
- * @tags: [uses_transactions, uses_prepare_transaction, requires_fcv_44]
+ * @tags: [
+ * uses_prepare_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/update_affects_indexes.js b/jstests/core/update_affects_indexes.js
index fd77a39194c..41b0cb4a016 100644
--- a/jstests/core/update_affects_indexes.js
+++ b/jstests/core/update_affects_indexes.js
@@ -1,6 +1,5 @@
// This is a regression test for SERVER-32048. It checks that index keys are correctly updated when
// an update modifier implicitly creates a new array element.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/core/views/dbref_projection.js b/jstests/core/views/dbref_projection.js
index 963a3cc185e..1aa828c3807 100644
--- a/jstests/core/views/dbref_projection.js
+++ b/jstests/core/views/dbref_projection.js
@@ -2,8 +2,9 @@
* Test projecting DBRef fields ($ref, $id, $db) in views.
*
* Legacy find() queries do not support views, so must use the find() command.
- * DBRef fields are not supported in agg pre 4.4.
- * @tags: [requires_find_command, requires_fcv_44]
+ * @tags: [
+ * requires_find_command,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/views/views_aggregation.js b/jstests/core/views/views_aggregation.js
index 2b23955a687..44e73dea033 100644
--- a/jstests/core/views/views_aggregation.js
+++ b/jstests/core/views/views_aggregation.js
@@ -1,16 +1,13 @@
/**
* Tests aggregation on views for proper pipeline concatenation and semantics.
*
- * The conditions under which sorts are pushed down were changed between 4.2 and 4.4. This test
- * expects the 4.4 version output of explain().
- * @tags: [requires_find_command,
- * does_not_support_stepdowns,
- * requires_getmore,
- * requires_non_retryable_commands,
- * # Requires FCV 4.4 because the test checks explain() output, and in 4.4 the conditions
- * # under which sorts are pushed down were changed. Also uses $unionWith.
- * requires_fcv_44,
- * uses_$out]
+ * @tags: [
+ * does_not_support_stepdowns,
+ * requires_find_command,
+ * requires_getmore,
+ * requires_non_retryable_commands,
+ * uses_$out,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/views/views_all_commands.js b/jstests/core/views/views_all_commands.js
index d828c7432a4..9eccc39d0cd 100644
--- a/jstests/core/views/views_all_commands.js
+++ b/jstests/core/views/views_all_commands.js
@@ -1,19 +1,13 @@
// @tags: [
// assumes_superuser_permissions,
// does_not_support_stepdowns,
+// requires_emptycapped,
// requires_fastcount,
-// requires_fcv_44,
// requires_getmore,
// requires_non_retryable_commands,
// requires_non_retryable_writes,
// uses_map_reduce_with_temp_collections,
-// requires_emptycapped,
// ]
-//
-// Tagged as 'requires_fcv_44', since this test cannot run against versions less then 4.4. This is
-// because 'planCacheListPlans' and 'planCacheListQueryShapes' were deleted in 4.4, and thus not
-// tested here. But this test asserts that all commands are covered, so will fail against a version
-// of the server which implements these commands.
/*
* Declaratively-defined tests for views for all database commands. This file contains a map of test
diff --git a/jstests/core/views/views_find.js b/jstests/core/views/views_find.js
index 23c6203831b..3ca5571784d 100644
--- a/jstests/core/views/views_find.js
+++ b/jstests/core/views/views_find.js
@@ -4,9 +4,6 @@
* @tags: [
* requires_find_command,
* requires_getmore,
- * # Includes tests for allowing $natural sort against a view, but support for this feature
- * # requires all nodes to be binary version 4.4.
- * requires_fcv_44,
* ]
*/
(function() {
diff --git a/jstests/core/views/views_validation.js b/jstests/core/views/views_validation.js
index 2c4b17dd171..b8bc76bbb32 100644
--- a/jstests/core/views/views_validation.js
+++ b/jstests/core/views/views_validation.js
@@ -1,7 +1,5 @@
// @tags: [
// requires_non_retryable_commands,
-// # Uses $unionWith.
-// requires_fcv_44,
// ]
(function() {
diff --git a/jstests/core/where_system_js.js b/jstests/core/where_system_js.js
index b00f40b6896..fb9cffc87ff 100644
--- a/jstests/core/where_system_js.js
+++ b/jstests/core/where_system_js.js
@@ -1,12 +1,10 @@
// Tests $where use of functions defined in the system.js collection.
// @tags: [
-// requires_non_retryable_writes,
-// # This test expects a function stored in the system.js collection to be available to
-// # $where, which may not be the case if it is implicitly sharded in a passthrough.
-// assumes_unsharded_collection,
-// requires_scripting,
-// # $where in 4.2 accepts CodeWithScope whereas >= 4.4 does not.
-// requires_fcv_44,
+// # This test expects a function stored in the system.js collection to be available to $where,
+// # which may not be the case if it is implicitly sharded in a passthrough.
+// assumes_unsharded_collection,
+// requires_non_retryable_writes,
+// requires_scripting,
// ]
(function() {
"use strict";
diff --git a/jstests/core/wildcard_index_covered_queries.js b/jstests/core/wildcard_index_covered_queries.js
index 366109a2c9a..484d836ac4b 100644
--- a/jstests/core/wildcard_index_covered_queries.js
+++ b/jstests/core/wildcard_index_covered_queries.js
@@ -5,12 +5,10 @@
* covered unless they include the shard key. Does not support stepdowns because the test issues
* getMores, which the stepdown/kill_primary passthroughs will reject.
*
- * @tags: [assumes_unsharded_collection,
- * does_not_support_stepdowns,
- * # This test attempts to project a $-prefixed field name ("$_path") which was allowed in
- * # 4.2 but banned in 4.4. This test checks that the aforementioned case will throw an
- * # error.
- * requires_fcv_44]
+ * @tags: [
+ * assumes_unsharded_collection,
+ * does_not_support_stepdowns,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/core/wildcard_index_return_key.js b/jstests/core/wildcard_index_return_key.js
index 14348ac3703..53f7da8c09c 100644
--- a/jstests/core/wildcard_index_return_key.js
+++ b/jstests/core/wildcard_index_return_key.js
@@ -1,6 +1,5 @@
/**
* Tests that $** indexes works with returnKey option.
- * @tags: [requires_fcv_44]
*/
(function() {
'use strict';
diff --git a/jstests/core/wildcard_index_validindex.js b/jstests/core/wildcard_index_validindex.js
index 6190b030965..24ecdcf77cf 100644
--- a/jstests/core/wildcard_index_validindex.js
+++ b/jstests/core/wildcard_index_validindex.js
@@ -1,9 +1,8 @@
/**
* Tests parsing and validation of wildcard indexes.
* @tags: [
- * # Uses index building in background
- * requires_background_index,
- * requires_fcv_44
+ * # Uses index building in background
+ * requires_background_index,
* ]
*/
(function() {
diff --git a/jstests/disk/wt_repair_inconsistent_index.js b/jstests/disk/wt_repair_inconsistent_index.js
index d93656c807e..249303e081e 100644
--- a/jstests/disk/wt_repair_inconsistent_index.js
+++ b/jstests/disk/wt_repair_inconsistent_index.js
@@ -1,7 +1,7 @@
/**
* Tests that --repair on WiredTiger correctly and gracefully handles inconsistent indexes.
*
- * @tags: [requires_wiredtiger, requires_fcv_44]
+ * @tags: [requires_wiredtiger]
*/
(function() {
diff --git a/jstests/noPassthrough/background_validation_repl.js b/jstests/noPassthrough/background_validation_repl.js
index bfb1865e35c..8d3eb39e8f2 100644
--- a/jstests/noPassthrough/background_validation_repl.js
+++ b/jstests/noPassthrough/background_validation_repl.js
@@ -16,8 +16,6 @@
* does_not_support_stepdowns,
* # Checkpoint cursors cannot be open in lsm.
* does_not_support_wiredtiger_lsm,
- * # Background validation will be first available in v4.4.
- * requires_fcv_44,
* requires_replication,
* ]
*/
diff --git a/jstests/noPassthrough/change_stream_error_label.js b/jstests/noPassthrough/change_stream_error_label.js
index e999a324526..4d5e8c6379a 100644
--- a/jstests/noPassthrough/change_stream_error_label.js
+++ b/jstests/noPassthrough/change_stream_error_label.js
@@ -1,7 +1,7 @@
/**
* Test that a change stream pipeline which encounters a retryable exception responds to the client
* with an error object that includes the "ResumableChangeStreamError" label.
- * @tags: [requires_replication, requires_journaling, uses_change_streams, requires_fcv_44]
+ * @tags: [requires_replication, requires_journaling, uses_change_streams]
*/
(function() {
"use strict";
diff --git a/jstests/noPassthrough/non_transaction_snapshot_reads_without_majority_reads.js b/jstests/noPassthrough/non_transaction_snapshot_reads_without_majority_reads.js
index 4d9602175d8..5b949cdb220 100644
--- a/jstests/noPassthrough/non_transaction_snapshot_reads_without_majority_reads.js
+++ b/jstests/noPassthrough/non_transaction_snapshot_reads_without_majority_reads.js
@@ -1,10 +1,7 @@
/* Tests readConcern level snapshot outside of transactions is not supported when
* enableMajorityReadConcern is false.
*
- * TODO(SERVER-46592): This test is multiversion-incompatible in 4.6. If we use 'requires_fcv_46'
- * as the tag for that, removing 'requires_fcv_44' is sufficient. Otherwise,
- * please set the appropriate tag when removing 'requires_fcv_44'
- * @tags: [requires_replication, requires_fcv_44, requires_fcv_46]
+ * @tags: [requires_replication, requires_fcv_46]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/apply_ops_create_indexes.js b/jstests/replsets/apply_ops_create_indexes.js
index 12bf1517b67..37382d7b0fc 100644
--- a/jstests/replsets/apply_ops_create_indexes.js
+++ b/jstests/replsets/apply_ops_create_indexes.js
@@ -1,7 +1,6 @@
/**
* This test ensures that indexes created by running applyOps are both successful and replicated
* correctly (see SERVER-31435).
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/awaitable_ismaster_errors_on_horizon_change.js b/jstests/replsets/awaitable_ismaster_errors_on_horizon_change.js
index a595f512618..e2ac2eda372 100644
--- a/jstests/replsets/awaitable_ismaster_errors_on_horizon_change.js
+++ b/jstests/replsets/awaitable_ismaster_errors_on_horizon_change.js
@@ -1,7 +1,6 @@
/**
* Tests that doing a reconfig that changes the SplitHorizon will cause the server to disconnect
* from clients with waiting isMaster requests.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/awaitable_ismaster_metrics_on_state_change.js b/jstests/replsets/awaitable_ismaster_metrics_on_state_change.js
index afcb3c72a53..35ff235c673 100644
--- a/jstests/replsets/awaitable_ismaster_metrics_on_state_change.js
+++ b/jstests/replsets/awaitable_ismaster_metrics_on_state_change.js
@@ -1,7 +1,6 @@
/**
* Tests that the server status metrics correctly reflect the number of waiting isMaster requests
* before and after a state change.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/awaitable_ismaster_on_nodes_with_invalid_configs.js b/jstests/replsets/awaitable_ismaster_on_nodes_with_invalid_configs.js
index 8c04749c7a9..951ffdf2ecb 100644
--- a/jstests/replsets/awaitable_ismaster_on_nodes_with_invalid_configs.js
+++ b/jstests/replsets/awaitable_ismaster_on_nodes_with_invalid_configs.js
@@ -1,6 +1,5 @@
/**
* Tests the streamable isMaster protocol against nodes with invalid replica set configs.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/awaitable_ismaster_stepdown_stepup.js b/jstests/replsets/awaitable_ismaster_stepdown_stepup.js
index 22235617344..06384950b71 100644
--- a/jstests/replsets/awaitable_ismaster_stepdown_stepup.js
+++ b/jstests/replsets/awaitable_ismaster_stepdown_stepup.js
@@ -1,6 +1,5 @@
/**
* Tests the fields returned by isMaster responses as a node goes through a step down and step up.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/awaitdata_getmore_new_last_committed_optime.js b/jstests/replsets/awaitdata_getmore_new_last_committed_optime.js
index a9d729d683d..f98e2fb4326 100644
--- a/jstests/replsets/awaitdata_getmore_new_last_committed_optime.js
+++ b/jstests/replsets/awaitdata_getmore_new_last_committed_optime.js
@@ -8,7 +8,9 @@
// replication. If the storage engine supports snapshot reads, secondary reads do not acquire PBWM
// locks. So in order to not block secondary oplog application while the secondary read is blocked
// on a failpoint, we only run this test with storage engine that supports snapshot read.
-// @tags: [requires_fcv_44, requires_snapshot_read]
+// @tags: [
+// requires_snapshot_read,
+// ]
(function() {
'use strict';
diff --git a/jstests/replsets/change_sync_source_in_initial_sync.js b/jstests/replsets/change_sync_source_in_initial_sync.js
index 0d592e42455..15d0c5dc935 100644
--- a/jstests/replsets/change_sync_source_in_initial_sync.js
+++ b/jstests/replsets/change_sync_source_in_initial_sync.js
@@ -1,8 +1,6 @@
/**
* Tests that calling 'replSetSyncFrom' on an initial syncing node will cancel the current syncing
* attempt and cause it to retry against the newly designated sync source.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/collection_clone_resume_after_network_error.js b/jstests/replsets/collection_clone_resume_after_network_error.js
index ae1c7bb92da..3ce47ef8b1f 100644
--- a/jstests/replsets/collection_clone_resume_after_network_error.js
+++ b/jstests/replsets/collection_clone_resume_after_network_error.js
@@ -5,8 +5,6 @@
* - failure in first batch
* - failure in subsequent batches
* - multiple resumable failures during the same clone
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/dbhash_system_collections.js b/jstests/replsets/dbhash_system_collections.js
index 87724a331ea..951639befd4 100644
--- a/jstests/replsets/dbhash_system_collections.js
+++ b/jstests/replsets/dbhash_system_collections.js
@@ -1,5 +1,4 @@
// Test that the dbhash command checks system collections that are replicated.
-// @tags: [requires_fcv_44]
'use strict';
(function() {
diff --git a/jstests/replsets/drop_databases_two_phase.js b/jstests/replsets/drop_databases_two_phase.js
index fbac7c0a721..5486e3bc479 100644
--- a/jstests/replsets/drop_databases_two_phase.js
+++ b/jstests/replsets/drop_databases_two_phase.js
@@ -12,8 +12,6 @@
* metadata for the database from the server and appends the 'dropDatabase' operation to the oplog.
* Unlike the 'Collections' phase, we do not wait for the 'dropDatabase' to propagate to a majority
* unless explicitly requested by the user with a write concern.
- *
- * @tags: [requires_fcv_44]
*/
(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 f5b613dc1d6..4237bfb1370 100644
--- a/jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js
+++ b/jstests/replsets/force_reconfig_sets_newly_added_field_correctly.js
@@ -1,14 +1,13 @@
-/*
+/**
* Verify that force reconfigs set the 'newlyAdded' field correctly in a replica set. We test this
* by starting with a two node replica set. We first do a force reconfig that adds a node with
* 'newlyAdded: true' and verify that it correctly sets the 'newlyAdded' field for that member. We
* then do another force reconfig that adds a second node without the 'newlyAdded' field passed in
* and verify that the node does not have 'newlyAdded' appended to it.
*
- * TODO(SERVER-46592): This test is multiversion-incompatible in 4.6. If we use 'requires_fcv_46'
- * as the tag for that, removing 'requires_fcv_44' is sufficient. Otherwise,
- * please set the appropriate tag when removing 'requires_fcv_44'
- * @tags: [requires_fcv_44, requires_fcv_46]
+ * @tags: [
+ * requires_fcv_46,
+ * ]
*
* TODO (SERVER-47331): Determine if this test needs to be altered, since this test will do a force
* reconfig followed by a safe reconfig.
diff --git a/jstests/replsets/force_reconfig_skips_config_replication.js b/jstests/replsets/force_reconfig_skips_config_replication.js
index ac0f0028481..fe3c10308f0 100644
--- a/jstests/replsets/force_reconfig_skips_config_replication.js
+++ b/jstests/replsets/force_reconfig_skips_config_replication.js
@@ -2,8 +2,6 @@
* Verify that a force replica set reconfig skips the config replication check.
* The force reconfig should succeed even though the previous config has not
* committed across a majority of nodes.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/force_reconfig_skips_oplog_commitment.js b/jstests/replsets/force_reconfig_skips_oplog_commitment.js
index 5893fa8f144..138a3d2e609 100644
--- a/jstests/replsets/force_reconfig_skips_oplog_commitment.js
+++ b/jstests/replsets/force_reconfig_skips_oplog_commitment.js
@@ -2,8 +2,6 @@
* Verify that a force replica set reconfig skips the oplog commitment check. The force reconfig
* should succeed even though oplog entries committed in the previous config are not committed in
* the current config.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/initial_sync_chooses_correct_sync_source.js b/jstests/replsets/initial_sync_chooses_correct_sync_source.js
index 83be67d2737..50cd172a26a 100644
--- a/jstests/replsets/initial_sync_chooses_correct_sync_source.js
+++ b/jstests/replsets/initial_sync_chooses_correct_sync_source.js
@@ -2,10 +2,9 @@
* Tests that initial sync chooses the correct sync source based on chaining and the
* initialSyncReadPreference.
*
- * TODO(SERVER-46592): This test is multiversion-incompatible in 4.6. If we use 'requires_fcv_46'
- * as the tag for that, removing 'requires_fcv_44' is sufficient. Otherwise,
- * please set the appropriate tag when removing 'requires_fcv_44'
- * @tags: [requires_fcv_44, requires_fcv_46]
+ * @tags: [
+ * requires_fcv_46,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_drop_collection.js b/jstests/replsets/initial_sync_drop_collection.js
index 3aa14856b3f..b709dde4ed3 100644
--- a/jstests/replsets/initial_sync_drop_collection.js
+++ b/jstests/replsets/initial_sync_drop_collection.js
@@ -1,6 +1,5 @@
/**
* Test that CollectionCloner completes without error when a collection is dropped during cloning.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/initial_sync_during_stepdown.js b/jstests/replsets/initial_sync_during_stepdown.js
index 9554101c4de..d09060d492d 100644
--- a/jstests/replsets/initial_sync_during_stepdown.js
+++ b/jstests/replsets/initial_sync_during_stepdown.js
@@ -1,6 +1,5 @@
/**
* Test that stepdown during collection cloning and oplog fetching does not interrupt initial sync.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_fails_after_source_resyncs.js b/jstests/replsets/initial_sync_fails_after_source_resyncs.js
index f89137531fb..f8450911976 100644
--- a/jstests/replsets/initial_sync_fails_after_source_resyncs.js
+++ b/jstests/replsets/initial_sync_fails_after_source_resyncs.js
@@ -1,7 +1,6 @@
/**
* Tests that initial sync will abort an attempt if the sync source enters and completes initial
* sync during cloning (i.e. the source is resynced during an outage).
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_fails_when_source_removed.js b/jstests/replsets/initial_sync_fails_when_source_removed.js
index a93ad319276..3d25d65af6c 100644
--- a/jstests/replsets/initial_sync_fails_when_source_removed.js
+++ b/jstests/replsets/initial_sync_fails_when_source_removed.js
@@ -1,7 +1,6 @@
/**
* Tests that initial sync will abort an attempt if the sync source is removed during cloning.
* This test will timeout if the attempt is not aborted.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_fails_when_source_resyncs.js b/jstests/replsets/initial_sync_fails_when_source_resyncs.js
index 862fd6083fd..9bf0ce7e6fc 100644
--- a/jstests/replsets/initial_sync_fails_when_source_resyncs.js
+++ b/jstests/replsets/initial_sync_fails_when_source_resyncs.js
@@ -1,8 +1,6 @@
/**
* Tests that initial sync will abort an attempt if the sync source enters initial sync during
* cloning. This test will timeout if the attempt is not aborted.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_nodes_maintain_and_gossip_commit_point.js b/jstests/replsets/initial_sync_nodes_maintain_and_gossip_commit_point.js
index 4f04286d0ca..a6aff475479 100644
--- a/jstests/replsets/initial_sync_nodes_maintain_and_gossip_commit_point.js
+++ b/jstests/replsets/initial_sync_nodes_maintain_and_gossip_commit_point.js
@@ -1,4 +1,4 @@
-/*
+/**
* Tests that nodes in initial sync update their commit point and gossip their commit point to
* other nodes. This is done starting with a 3 node replica set with one non-voting secondary. We
* disconnect the non-voting secondary from the other nodes and then add a new node to the replica
@@ -7,7 +7,6 @@
* commit point, and verify that the commit point on the initial syncing node is updated. Finally,
* we ensure that the disconnected secondary is able to update its commit point from the initial
* syncing node via heartbeats.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_oplog_fetcher_survives_restart.js b/jstests/replsets/initial_sync_oplog_fetcher_survives_restart.js
index 161e119ae6f..9305e079468 100644
--- a/jstests/replsets/initial_sync_oplog_fetcher_survives_restart.js
+++ b/jstests/replsets/initial_sync_oplog_fetcher_survives_restart.js
@@ -1,6 +1,8 @@
/**
* Tests that initial sync survives a restart during the oplog fetching process.
- * @tags: [requires_persistence, requires_fcv_44]
+ * @tags: [
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_rename_collection.js b/jstests/replsets/initial_sync_rename_collection.js
index c35d46a20bb..82576400c60 100644
--- a/jstests/replsets/initial_sync_rename_collection.js
+++ b/jstests/replsets/initial_sync_rename_collection.js
@@ -1,6 +1,5 @@
/**
* Test that CollectionCloner completes without error when a collection is renamed during cloning.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/initial_sync_survives_network_error.js b/jstests/replsets/initial_sync_survives_network_error.js
index c95487e822e..6d2b5575abb 100644
--- a/jstests/replsets/initial_sync_survives_network_error.js
+++ b/jstests/replsets/initial_sync_survives_network_error.js
@@ -1,7 +1,6 @@
/**
* Tests that initial sync survives a network error during each stage of the cloning process,
* except for the query stage.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_survives_restart.js b/jstests/replsets/initial_sync_survives_restart.js
index c1053ef84dd..625453f08a4 100644
--- a/jstests/replsets/initial_sync_survives_restart.js
+++ b/jstests/replsets/initial_sync_survives_restart.js
@@ -1,6 +1,8 @@
/**
* Tests that initial sync survives a restart during each stage of the cloning process.
- * @tags: [requires_persistence, requires_fcv_44]
+ * @tags: [
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/initial_sync_test_fixture_test.js b/jstests/replsets/initial_sync_test_fixture_test.js
index 19ac73c9bbe..2fa958c205b 100644
--- a/jstests/replsets/initial_sync_test_fixture_test.js
+++ b/jstests/replsets/initial_sync_test_fixture_test.js
@@ -1,4 +1,4 @@
-/*
+/**
* Test to check that the Initial Sync Test Fixture properly pauses initial sync.
*
* The test checks that both the collection cloning and oplog application stages of initial sync
@@ -9,7 +9,10 @@
* the batches being applied are of the expected size and that only one batch was applied per step()
* call.
*
- * @tags: [uses_transactions, uses_prepare_transaction, requires_fcv_44]
+ * @tags: [
+ * uses_prepare_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/initial_sync_uuid_not_found.js b/jstests/replsets/initial_sync_uuid_not_found.js
index 0d0b7fb299d..90e0024b76c 100644
--- a/jstests/replsets/initial_sync_uuid_not_found.js
+++ b/jstests/replsets/initial_sync_uuid_not_found.js
@@ -3,7 +3,6 @@
* commands using UUIDs instead of namespaces. This verifies initial sync behavior in
* cases where using UUIDs results in NamespaceNotFound while using namespace strings
* results in an empty result or zero count.
- * @tags: [requires_fcv_44]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/last_vote.js b/jstests/replsets/last_vote.js
index 0a3a5a8848f..a5c0fbe5fef 100644
--- a/jstests/replsets/last_vote.js
+++ b/jstests/replsets/last_vote.js
@@ -8,7 +8,9 @@
// other node. It then restarts the first node as a replicaset and manually runs
// replSetRequestVotes commands against it and checks that its response is correct.
//
-// @tags: [requires_persistence, requires_fcv_44]
+// @tags: [
+// requires_persistence,
+// ]
(function() {
"use strict";
diff --git a/jstests/replsets/log_secondary_oplog_application.js b/jstests/replsets/log_secondary_oplog_application.js
index 49b1a37cb94..d8abf235900 100644
--- a/jstests/replsets/log_secondary_oplog_application.js
+++ b/jstests/replsets/log_secondary_oplog_application.js
@@ -3,7 +3,6 @@
* We should only report ops if they take longer than "slowMS" to apply on a secondary.
* We intentionally target CRUD ops in this test, since we know we should be the only ones
* issuing them. See below for details on how we simulate quickness and slowness.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/no_progress_updates_during_initial_sync.js b/jstests/replsets/no_progress_updates_during_initial_sync.js
index 4bb92f5e164..41d833670c9 100644
--- a/jstests/replsets/no_progress_updates_during_initial_sync.js
+++ b/jstests/replsets/no_progress_updates_during_initial_sync.js
@@ -5,8 +5,6 @@
* initial-syncing nodes should send no replSetUpdatePosition commands upstream at all
* - via heartbeats:
* these nodes should include null lastApplied and lastDurable optimes in heartbeat responses
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/non_transaction_snapshot_reads.js b/jstests/replsets/non_transaction_snapshot_reads.js
index 0fdc3f60a51..3e3f0d5672d 100644
--- a/jstests/replsets/non_transaction_snapshot_reads.js
+++ b/jstests/replsets/non_transaction_snapshot_reads.js
@@ -1,9 +1,9 @@
-/* Tests readConcern level snapshot outside of transactions.
+/**Tests readConcern level snapshot outside of transactions.
*
- * TODO(SERVER-46592): This test is multiversion-incompatible in 4.6. If we use 'requires_fcv_46'
- * as the tag for that, removing 'requires_fcv_44' is sufficient. Otherwise,
- * please set the appropriate tag when removing 'requires_fcv_44'
- * @tags: [requires_majority_read_concern, requires_fcv_44, requires_fcv_46]
+ * @tags: [
+ * requires_fcv_46,
+ * requires_majority_read_concern,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/notmaster_errors_return_topology_version.js b/jstests/replsets/notmaster_errors_return_topology_version.js
index 77916700001..534a68f906d 100644
--- a/jstests/replsets/notmaster_errors_return_topology_version.js
+++ b/jstests/replsets/notmaster_errors_return_topology_version.js
@@ -1,7 +1,5 @@
/**
* This tests that NotMaster errors include a TopologyVersion field.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/oplog_format_create_indexes.js b/jstests/replsets/oplog_format_create_indexes.js
index ec8bf81797c..6fd5ccd0cd4 100644
--- a/jstests/replsets/oplog_format_create_indexes.js
+++ b/jstests/replsets/oplog_format_create_indexes.js
@@ -1,8 +1,6 @@
/**
* Tests that the index's full specification is included in the oplog entry corresponding to its
* creation.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/oplog_slow_sampling_logging.js b/jstests/replsets/oplog_slow_sampling_logging.js
index 70154d698af..241bdfdcdf6 100644
--- a/jstests/replsets/oplog_slow_sampling_logging.js
+++ b/jstests/replsets/oplog_slow_sampling_logging.js
@@ -1,7 +1,10 @@
/**
* Ensure serverStatus reports the total time spent sampling the oplog for all storage engines that
* support OplogStones.
- * @tags: [ requires_wiredtiger, requires_persistence, requires_fcv_44 ]
+ * @tags: [
+ * requires_persistence,
+ * requires_wiredtiger,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/prepare_conflict_read_concern_behavior.js b/jstests/replsets/prepare_conflict_read_concern_behavior.js
index 3b65cbae8f5..4ad65f75506 100644
--- a/jstests/replsets/prepare_conflict_read_concern_behavior.js
+++ b/jstests/replsets/prepare_conflict_read_concern_behavior.js
@@ -16,7 +16,10 @@
* makes sure the validate command does not accept a non local read concern or afterClusterTime and
* that it is therefore safe to ignore prepare conflicts during its execution.
*
- * @tags: [uses_transactions, uses_prepare_transaction, requires_fcv_44]
+ * @tags: [
+ * uses_prepare_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/prepare_transaction_index_build.js b/jstests/replsets/prepare_transaction_index_build.js
index bef70666d2d..d1940f6d872 100644
--- a/jstests/replsets/prepare_transaction_index_build.js
+++ b/jstests/replsets/prepare_transaction_index_build.js
@@ -6,9 +6,8 @@
* solution to this problem is to synchronize index build commits.
*
* @tags: [
- * uses_transactions,
- * uses_prepare_transaction,
- * requires_fcv_44,
+ * uses_prepare_transaction,
+ * uses_transactions,
* ]
*/
(function() {
diff --git a/jstests/replsets/read_committed_with_catalog_changes.js b/jstests/replsets/read_committed_with_catalog_changes.js
index 7f690d14375..a1b6bb5d3a4 100644
--- a/jstests/replsets/read_committed_with_catalog_changes.js
+++ b/jstests/replsets/read_committed_with_catalog_changes.js
@@ -20,8 +20,6 @@
* - repair database
* - reindex collection
* - compact collection
- *
- * @tags: [requires_fcv_44]
*/
load("jstests/libs/parallelTester.js"); // For Thread.
diff --git a/jstests/replsets/read_write_concern_defaults_propagation.js b/jstests/replsets/read_write_concern_defaults_propagation.js
index 5c96d1a4cf3..fcb61cf2c77 100644
--- a/jstests/replsets/read_write_concern_defaults_propagation.js
+++ b/jstests/replsets/read_write_concern_defaults_propagation.js
@@ -1,6 +1,4 @@
// Tests propagation of RWC defaults across a replica set.
-//
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/replsets/reconfig_avoids_diverging_configs.js b/jstests/replsets/reconfig_avoids_diverging_configs.js
index 6697b0497a5..512752a1d5c 100644
--- a/jstests/replsets/reconfig_avoids_diverging_configs.js
+++ b/jstests/replsets/reconfig_avoids_diverging_configs.js
@@ -12,8 +12,6 @@
* 5. Issue a reconfig to node1 that removes node2. We now have diverging configs
* from two different primaries.
* 6. Reconnect node0 to the rest of the set and verify that its reconfig fails.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/reconfig_commitment_succeeds_with_arbiter.js b/jstests/replsets/reconfig_commitment_succeeds_with_arbiter.js
index cb2b1a909a8..80d1e91e7d7 100644
--- a/jstests/replsets/reconfig_commitment_succeeds_with_arbiter.js
+++ b/jstests/replsets/reconfig_commitment_succeeds_with_arbiter.js
@@ -1,8 +1,6 @@
/**
* Verify that a non force replica set reconfig can be committed by a primary and arbiter, with a
* secondary down.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/reconfig_ignores_term_field.js b/jstests/replsets/reconfig_ignores_term_field.js
index 393d87f7592..7303e849b17 100644
--- a/jstests/replsets/reconfig_ignores_term_field.js
+++ b/jstests/replsets/reconfig_ignores_term_field.js
@@ -1,7 +1,5 @@
-/*
+/**
* Test that replSetReconfig ignores the term value provided by a user.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/reconfig_only_counts_voters_for_config_commitment.js b/jstests/replsets/reconfig_only_counts_voters_for_config_commitment.js
index c3ac7938e0e..0e0737fd6c2 100644
--- a/jstests/replsets/reconfig_only_counts_voters_for_config_commitment.js
+++ b/jstests/replsets/reconfig_only_counts_voters_for_config_commitment.js
@@ -1,8 +1,6 @@
-/*
+/**
* Test that replSetReconfig does not consider non-voting nodes towards the config commitment
* majority.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/reconfig_only_counts_voting_nodes_for_oplog_commitment.js b/jstests/replsets/reconfig_only_counts_voting_nodes_for_oplog_commitment.js
index 27ee63476aa..62b368e0f96 100644
--- a/jstests/replsets/reconfig_only_counts_voting_nodes_for_oplog_commitment.js
+++ b/jstests/replsets/reconfig_only_counts_voting_nodes_for_oplog_commitment.js
@@ -1,8 +1,6 @@
-/*
+/**
* Test that replSetReconfig waits for a majority of voting nodes to commit all oplog
* entries from the previous config in the current config.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/reconfig_waits_for_a_majority_to_replicate_config.js b/jstests/replsets/reconfig_waits_for_a_majority_to_replicate_config.js
index 2379bf16668..a0554614dfc 100644
--- a/jstests/replsets/reconfig_waits_for_a_majority_to_replicate_config.js
+++ b/jstests/replsets/reconfig_waits_for_a_majority_to_replicate_config.js
@@ -1,8 +1,6 @@
-/*
+/**
* Test that replSetReconfig waits for a majority of nodes to replicate the config
* before starting another reconfig.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/reconfig_waits_for_config_durability.js b/jstests/replsets/reconfig_waits_for_config_durability.js
index 929e96035d0..8fb88597c30 100644
--- a/jstests/replsets/reconfig_waits_for_config_durability.js
+++ b/jstests/replsets/reconfig_waits_for_config_durability.js
@@ -6,7 +6,9 @@
* until the secondary has installed the new config. Finally, we SIGKILL the secondary and restart
* it to verify that its config after restart is the same one it previously installed.
*
- * @tags: [requires_persistence, requires_fcv_44]
+ * @tags: [
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/reconfig_waits_for_oplog_commitment_condition.js b/jstests/replsets/reconfig_waits_for_oplog_commitment_condition.js
index c3d0327c5da..3079b0d1c37 100644
--- a/jstests/replsets/reconfig_waits_for_oplog_commitment_condition.js
+++ b/jstests/replsets/reconfig_waits_for_oplog_commitment_condition.js
@@ -2,7 +2,6 @@
* Verify that a non force replica set reconfig waits for all oplog entries committed in the
* previous config to be committed in the current config.
*
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/reconfig_waits_for_oplog_commitment_condition_when_leaving_force.js b/jstests/replsets/reconfig_waits_for_oplog_commitment_condition_when_leaving_force.js
index 3c65c9aa069..a986180852f 100644
--- a/jstests/replsets/reconfig_waits_for_oplog_commitment_condition_when_leaving_force.js
+++ b/jstests/replsets/reconfig_waits_for_oplog_commitment_condition_when_leaving_force.js
@@ -2,8 +2,6 @@
* Verify that a non force replica set reconfig waits for all oplog entries committed in the
* previous config to be committed in the current config even if we are exiting a config that was
* installed via a 'force' reconfig.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/reconstruct_prepared_transactions_initial_sync_change_oldest_active_txn_timestamp.js b/jstests/replsets/reconstruct_prepared_transactions_initial_sync_change_oldest_active_txn_timestamp.js
index 92333a1a3c8..6501d6afc9a 100644
--- a/jstests/replsets/reconstruct_prepared_transactions_initial_sync_change_oldest_active_txn_timestamp.js
+++ b/jstests/replsets/reconstruct_prepared_transactions_initial_sync_change_oldest_active_txn_timestamp.js
@@ -10,7 +10,10 @@
* the begin applying timestamp to after the prepare timestamp. We can then test that the node still
* fetches all the oplog entries it needs to reconstruct the prepared transaction.
*
- * @tags: [uses_transactions, uses_prepare_transaction, requires_fcv_44]
+ * @tags: [
+ * uses_prepare_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/reconstruct_prepared_transactions_initial_sync_index_build.js b/jstests/replsets/reconstruct_prepared_transactions_initial_sync_index_build.js
index 3a4457dee1f..cad734ce7ac 100644
--- a/jstests/replsets/reconstruct_prepared_transactions_initial_sync_index_build.js
+++ b/jstests/replsets/reconstruct_prepared_transactions_initial_sync_index_build.js
@@ -4,9 +4,8 @@
* hanging.
*
* @tags: [
- * uses_transactions,
- * uses_prepare_transaction,
- * requires_fcv_44,
+ * uses_prepare_transaction,
+ * uses_transactions,
* ]
*/
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 6e18660805b..9cbdb99c338 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
@@ -4,10 +4,9 @@
* initial sync (via heartbeats), it initiates a reconfig to remove the corresponding 'newlyAdded'
* field.
*
- * TODO(SERVER-46592): This test is multiversion-incompatible in 4.6. If we use 'requires_fcv_46'
- * as the tag for that, removing 'requires_fcv_44' is sufficient. Otherwise,
- * please set the appropriate tag when removing 'requires_fcv_44'
- * @tags: [requires_fcv_44, requires_fcv_46]
+ * @tags: [
+ * requires_fcv_46,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/remove_newly_added_field_votes_zero.js b/jstests/replsets/remove_newly_added_field_votes_zero.js
index b40fb9d0b7c..0c477ed9959 100644
--- a/jstests/replsets/remove_newly_added_field_votes_zero.js
+++ b/jstests/replsets/remove_newly_added_field_votes_zero.js
@@ -2,10 +2,9 @@
* Test that the 'newlyAdded' field of a MemberConfig is not added for nodes configured with
* 'votes:0', but is also removed if a node ends up with 'votes:0' and 'newlyAdded'.
*
- * TODO(SERVER-46592): This test is multiversion-incompatible in 4.6. If we use 'requires_fcv_46'
- * as the tag for that, removing 'requires_fcv_44' is sufficient. Otherwise,
- * please set the appropriate tag when removing 'requires_fcv_44'
- * @tags: [requires_fcv_44, requires_fcv_46]
+ * @tags: [
+ * requires_fcv_46,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/replsettest_stop_with_default_rwc.js b/jstests/replsets/replsettest_stop_with_default_rwc.js
index 468ca7d72ea..ccf72d0f8ac 100644
--- a/jstests/replsets/replsettest_stop_with_default_rwc.js
+++ b/jstests/replsets/replsettest_stop_with_default_rwc.js
@@ -1,8 +1,6 @@
/**
* Tests that none of the operations in the ReplSetTest consistency checks are affected by
* changing the default read or write concern during the test itself.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/resume_after_against_oplog.js b/jstests/replsets/resume_after_against_oplog.js
index a87609dde07..07f32522552 100644
--- a/jstests/replsets/resume_after_against_oplog.js
+++ b/jstests/replsets/resume_after_against_oplog.js
@@ -1,6 +1,5 @@
/**
* Tests that using the $_resumeAfter option in a query against the oplog does not invariant.
- * @@tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/replsets/rollback_after_enabling_majority_reads.js b/jstests/replsets/rollback_after_enabling_majority_reads.js
index 5c3e620326a..671a544d6f9 100644
--- a/jstests/replsets/rollback_after_enabling_majority_reads.js
+++ b/jstests/replsets/rollback_after_enabling_majority_reads.js
@@ -5,7 +5,9 @@
* enableMajorityReadConcern=true.
* Rollback after restarting with enableMajorityReadConcern=true succeeds if the common point is at
* least the stable timestamp, i.e. we do not attempt to roll back operations that were included in
- * @tags: [requires_persistence, requires_fcv_44]
+ * @tags: [
+ * requires_persistence,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_ddl_op_sequences.js b/jstests/replsets/rollback_ddl_op_sequences.js
index 95f4d0f730b..cfb75ea109e 100644
--- a/jstests/replsets/rollback_ddl_op_sequences.js
+++ b/jstests/replsets/rollback_ddl_op_sequences.js
@@ -1,4 +1,4 @@
-/*
+/**
* Basic test of a succesful replica set rollback for DDL operations.
*
* This tests sets up a 3 node set, data-bearing nodes A and B and an arbiter.
@@ -10,8 +10,6 @@
* 5. A receives many new operations, which B will replicate after rollback.
* 6. B rejoins the set and goes through the rollback process.
* 7. The contents of A and B are compare to ensure the rollback results in consistent nodes.
- *
- * @tags: [requires_fcv_44]
*/
load("jstests/replsets/rslib.js");
diff --git a/jstests/replsets/rollback_index_build_and_create.js b/jstests/replsets/rollback_index_build_and_create.js
index 67abb9c439d..f39027e22db 100644
--- a/jstests/replsets/rollback_index_build_and_create.js
+++ b/jstests/replsets/rollback_index_build_and_create.js
@@ -1,6 +1,5 @@
/**
* Test that rolling back an index build and collection creation behaves correctly.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_index_build_start.js b/jstests/replsets/rollback_index_build_start.js
index 919e8c34853..da786c7e1a4 100644
--- a/jstests/replsets/rollback_index_build_start.js
+++ b/jstests/replsets/rollback_index_build_start.js
@@ -1,7 +1,6 @@
/**
* Test that an index build aborted due to rollback restarts correctly, even if the none of the
* associated oplog entries are rolled-back.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_index_build_start_abort.js b/jstests/replsets/rollback_index_build_start_abort.js
index f40735c6b98..eb65327f838 100644
--- a/jstests/replsets/rollback_index_build_start_abort.js
+++ b/jstests/replsets/rollback_index_build_start_abort.js
@@ -1,6 +1,5 @@
/**
* Tests different permutations of rolling-back index build start and abort oplog entries.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_index_build_start_abort_not_create.js b/jstests/replsets/rollback_index_build_start_abort_not_create.js
index ce8370b3258..00c8c36a9ee 100644
--- a/jstests/replsets/rollback_index_build_start_abort_not_create.js
+++ b/jstests/replsets/rollback_index_build_start_abort_not_create.js
@@ -1,7 +1,6 @@
/**
* Test that rolling back an index build, but not collection creation, behaves correctly even when
* the index build is aborted.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_index_build_start_commit.js b/jstests/replsets/rollback_index_build_start_commit.js
index de550c5028a..61edf7488f7 100644
--- a/jstests/replsets/rollback_index_build_start_commit.js
+++ b/jstests/replsets/rollback_index_build_start_commit.js
@@ -1,6 +1,5 @@
/**
* Tests different permutations of rolling-back index build start and commit oplog entries.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_index_build_start_commit_drop.js b/jstests/replsets/rollback_index_build_start_commit_drop.js
index b52b8ec029e..b6332b66457 100644
--- a/jstests/replsets/rollback_index_build_start_commit_drop.js
+++ b/jstests/replsets/rollback_index_build_start_commit_drop.js
@@ -1,6 +1,5 @@
/**
* Tests different permutations of rolling-back index build start, commit, and drop oplog entries.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_index_build_start_not_create.js b/jstests/replsets/rollback_index_build_start_not_create.js
index b235604912a..e56990e08ad 100644
--- a/jstests/replsets/rollback_index_build_start_not_create.js
+++ b/jstests/replsets/rollback_index_build_start_not_create.js
@@ -1,6 +1,5 @@
/**
* Test that rolling back an index build, but not collection creation, behaves correctly.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_prepare_transaction.js b/jstests/replsets/rollback_prepare_transaction.js
index c6f329dd647..46f8910a92e 100644
--- a/jstests/replsets/rollback_prepare_transaction.js
+++ b/jstests/replsets/rollback_prepare_transaction.js
@@ -1,7 +1,10 @@
/**
* Tests that prepared transactions are correctly rolled-back.
*
- * @tags: [uses_transactions, uses_prepare_transaction, requires_fcv_44]
+ * @tags: [
+ * uses_prepare_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/replsets/rollback_unprepared_transactions.js b/jstests/replsets/rollback_unprepared_transactions.js
index ff476aa3419..a258f0a4708 100644
--- a/jstests/replsets/rollback_unprepared_transactions.js
+++ b/jstests/replsets/rollback_unprepared_transactions.js
@@ -1,6 +1,9 @@
/**
* Tests that an unprepared transaction can be rolled back.
- * @tags: [requires_replication, requires_wiredtiger, requires_fcv_44]
+ * @tags: [
+ * requires_replication,
+ * requires_wiredtiger,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/rollback_waits_for_bgindex_completion.js b/jstests/replsets/rollback_waits_for_bgindex_completion.js
index 3057200efe3..31accbacaf1 100644
--- a/jstests/replsets/rollback_waits_for_bgindex_completion.js
+++ b/jstests/replsets/rollback_waits_for_bgindex_completion.js
@@ -3,11 +3,9 @@
* starting the rollback process. Only applies to Recoverable Rollback via WiredTiger checkpoints.
*
* @tags: [
- * requires_fcv_44,
* requires_wiredtiger,
* requires_journaling,
* requires_majority_read_concern,
- requires_fcv_44,
* ]
*/
(function() {
diff --git a/jstests/replsets/server_status_metrics.js b/jstests/replsets/server_status_metrics.js
index a88bb03c80d..6a14f74ded2 100644
--- a/jstests/replsets/server_status_metrics.js
+++ b/jstests/replsets/server_status_metrics.js
@@ -5,7 +5,9 @@
* document-level locking because it uses the planExecutorHangBeforeShouldWaitForInserts failpoint
* to block oplog fetching getMores while trying to do oplog writes. Thus we need a document-level
* locking storage engine so that oplog writes would not conflict with oplog reads.
- * @tags: [requires_document_locking, requires_fcv_44]
+ * @tags: [
+ * requires_document_locking,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/stable_timestamp_can_advance_after_oplog_hole_abort.js b/jstests/replsets/stable_timestamp_can_advance_after_oplog_hole_abort.js
index 41a20e892c3..99a0602ad46 100644
--- a/jstests/replsets/stable_timestamp_can_advance_after_oplog_hole_abort.js
+++ b/jstests/replsets/stable_timestamp_can_advance_after_oplog_hole_abort.js
@@ -1,7 +1,9 @@
/**
* Test that the stable timestamp can advance after an oplog hole is released via an abort.
*
- * @tags: [uses_transactions,requires_fcv_44]
+ * @tags: [
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/replsets/stepup_increments_config_term.js b/jstests/replsets/stepup_increments_config_term.js
index f722a9cb202..35beea67f47 100644
--- a/jstests/replsets/stepup_increments_config_term.js
+++ b/jstests/replsets/stepup_increments_config_term.js
@@ -1,7 +1,5 @@
/**
* Test that step-up increments the config term via reconfig.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
'use strict';
diff --git a/jstests/replsets/too_stale_secondary.js b/jstests/replsets/too_stale_secondary.js
index b4cd4a75549..b4be2152deb 100644
--- a/jstests/replsets/too_stale_secondary.js
+++ b/jstests/replsets/too_stale_secondary.js
@@ -7,7 +7,9 @@
* the RECOVERING state. A restarted node with an ephemeral storage engine will not have an oplog
* upon restart, so will immediately resync.
*
- * @tags: [requires_persistence, requires_fcv_44]
+ * @tags: [
+ * requires_persistence,
+ * ]
*
* Replica Set Setup:
*
diff --git a/jstests/sharding/allow_partial_results_nshards.js b/jstests/sharding/allow_partial_results_nshards.js
index fe4bf95fbd7..6d6c0a4997f 100644
--- a/jstests/sharding/allow_partial_results_nshards.js
+++ b/jstests/sharding/allow_partial_results_nshards.js
@@ -1,7 +1,10 @@
/**
* Confirms that, for a query with 'allowPartialResults' enabled, the 'nShards' log entry reflects
* the number of shards that were actually available during each find or getMore operation.
- * @tags: [requires_replication, requires_sharding, requires_fcv_44]
+ * @tags: [
+ * requires_replication,
+ * requires_sharding,
+ * ]
*/
load("jstests/libs/logv2_helpers.js");
diff --git a/jstests/sharding/array_shard_key.js b/jstests/sharding/array_shard_key.js
index 026daad6923..3acf841a1b0 100644
--- a/jstests/sharding/array_shard_key.js
+++ b/jstests/sharding/array_shard_key.js
@@ -1,5 +1,8 @@
// Ensure you can't shard on an array key
-// @tags: [uses_transactions, uses_multi_shard_transaction, requires_fcv_44]
+// @tags: [
+// uses_multi_shard_transaction,
+// uses_transactions,
+// ]
(function() {
'use strict';
diff --git a/jstests/sharding/autosplit_low_cardinality.js b/jstests/sharding/autosplit_low_cardinality.js
index f9c4d8bf2ae..a8a190a13bb 100644
--- a/jstests/sharding/autosplit_low_cardinality.js
+++ b/jstests/sharding/autosplit_low_cardinality.js
@@ -1,7 +1,5 @@
/**
* Test the autosplitter when a collection has very low cardinality
- *
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/balancer_collection_status.js b/jstests/sharding/balancer_collection_status.js
index 008e4c939a4..589fc5e69ae 100644
--- a/jstests/sharding/balancer_collection_status.js
+++ b/jstests/sharding/balancer_collection_status.js
@@ -1,8 +1,5 @@
/**
* Test the balancerCollectionStatus command and its possible outputs
- *
- * Remove requires_fcv_44 tag if SERVER-43990 is backported or 4.4 becomes last-stable.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/banned_txn_databases_sharded.js b/jstests/sharding/banned_txn_databases_sharded.js
index 2587dccbbea..3f39109009f 100644
--- a/jstests/sharding/banned_txn_databases_sharded.js
+++ b/jstests/sharding/banned_txn_databases_sharded.js
@@ -8,7 +8,10 @@
* transactions on sharded clusters, BUT read and writes to other namespaces in the config
* database are allowed.
*
- * @tags: [requires_find_command, uses_transactions, requires_fcv_44]
+ * @tags: [
+ * requires_find_command,
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/sharding/bulk_insert.js b/jstests/sharding/bulk_insert.js
index ac0dee20c80..93192010dd9 100644
--- a/jstests/sharding/bulk_insert.js
+++ b/jstests/sharding/bulk_insert.js
@@ -1,5 +1,4 @@
// Tests bulk inserts to mongos
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/change_stream_against_shard_mongod.js b/jstests/sharding/change_stream_against_shard_mongod.js
index f1591479819..17067f8c9f7 100644
--- a/jstests/sharding/change_stream_against_shard_mongod.js
+++ b/jstests/sharding/change_stream_against_shard_mongod.js
@@ -1,7 +1,10 @@
/**
* Tests that an updateLookup change stream on a sharded collection can be successfully opened
* and read from on a shard mongoD. Exercises the fix for SERVER-44977.
- * @tags: [uses_change_streams, requires_find_command, requires_fcv_44]
+ * @tags: [
+ * requires_find_command,
+ * uses_change_streams,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/change_stream_error_label.js b/jstests/sharding/change_stream_error_label.js
index c164d282de7..db3dec9a60e 100644
--- a/jstests/sharding/change_stream_error_label.js
+++ b/jstests/sharding/change_stream_error_label.js
@@ -1,7 +1,11 @@
/**
* Test that a change stream pipeline which encounters a retryable exception responds to the client
* with an error object that includes the "ResumableChangeStreamError" label.
- * @tags: [requires_sharding, uses_change_streams, requires_fcv_44, requires_find_command]
+ * @tags: [
+ * requires_find_command,
+ * requires_sharding,
+ * uses_change_streams,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/change_streams/resume_change_stream.js b/jstests/sharding/change_streams/resume_change_stream.js
index 34afc9c0208..5472362160a 100644
--- a/jstests/sharding/change_streams/resume_change_stream.js
+++ b/jstests/sharding/change_streams/resume_change_stream.js
@@ -1,6 +1,9 @@
// Tests resuming change streams on sharded collections.
// We need to use a readConcern in this test, which requires read commands.
-// @tags: [requires_find_command, uses_change_streams, requires_fcv_44]
+// @tags: [
+// requires_find_command,
+// uses_change_streams,
+// ]
(function() {
"use strict";
diff --git a/jstests/sharding/change_streams_establishment_finds_new_shards.js b/jstests/sharding/change_streams_establishment_finds_new_shards.js
index 8d8ae92b95a..bac44dba2bb 100644
--- a/jstests/sharding/change_streams_establishment_finds_new_shards.js
+++ b/jstests/sharding/change_streams_establishment_finds_new_shards.js
@@ -1,6 +1,8 @@
// Tests that change streams is able to find and return results from new shards which are added
// during cursor establishment.
-// @tags: [uses_change_streams, requires_fcv_44]
+// @tags: [
+// uses_change_streams,
+// ]
(function() {
'use strict';
diff --git a/jstests/sharding/change_streams_new_shard_new_database.js b/jstests/sharding/change_streams_new_shard_new_database.js
index 7205df06df0..9d5f3b353c1 100644
--- a/jstests/sharding/change_streams_new_shard_new_database.js
+++ b/jstests/sharding/change_streams_new_shard_new_database.js
@@ -5,7 +5,11 @@
* Tagging as 'requires_find_command' to ensure that this test is not run in the legacy protocol
* passthroughs. Legacy getMore fails in cases where it is run on a database or collection which
* does not yet exist.
- * @tags: [uses_change_streams, requires_sharding, requires_find_command, requires_fcv_44]
+ * @tags: [
+ * requires_find_command,
+ * requires_sharding,
+ * uses_change_streams,
+ * ]
*/
(function() {
diff --git a/jstests/sharding/change_streams_unsharded_update_resume.js b/jstests/sharding/change_streams_unsharded_update_resume.js
index 281701144c4..6a4a3a4c49e 100644
--- a/jstests/sharding/change_streams_unsharded_update_resume.js
+++ b/jstests/sharding/change_streams_unsharded_update_resume.js
@@ -1,7 +1,9 @@
/**
* Tests that the post-image of an update which occurred while the collection was unsharded can
* still be looked up after the collection becomes sharded. Exercises the fix for SERVER-44484.
- * @tags: [uses_change_streams, requires_fcv_44]
+ * @tags: [
+ * uses_change_streams,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/change_streams_update_lookup_shard_metadata_missing.js b/jstests/sharding/change_streams_update_lookup_shard_metadata_missing.js
index d731b2b0e27..b45f638f765 100644
--- a/jstests/sharding/change_streams_update_lookup_shard_metadata_missing.js
+++ b/jstests/sharding/change_streams_update_lookup_shard_metadata_missing.js
@@ -2,8 +2,9 @@
* Tests that an updateLookup change stream doesn't throw ChangeStreamFatalError or
* TooManyMatchingDocuments after fixing SERVER-44598.
*
- * Remove requires_fcv_44 tag if SERVER-44598 is backported or 4.4 becomes last stable
- * @tags: [uses_change_streams, requires_fcv_44]
+ * @tags: [
+ * uses_change_streams,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/check_sharding_index_versioned.js b/jstests/sharding/check_sharding_index_versioned.js
index 53af7ab5148..ae5eb461089 100644
--- a/jstests/sharding/check_sharding_index_versioned.js
+++ b/jstests/sharding/check_sharding_index_versioned.js
@@ -1,6 +1,5 @@
-/*
+/**
* Tests that the checkShardingIndex command checks shard version when run on a sharded collection.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/chunk_operations_invalidate_single_shard.js b/jstests/sharding/chunk_operations_invalidate_single_shard.js
index 6f43377d741..417b6426643 100644
--- a/jstests/sharding/chunk_operations_invalidate_single_shard.js
+++ b/jstests/sharding/chunk_operations_invalidate_single_shard.js
@@ -1,7 +1,6 @@
/**
* Test that chunk operations don't cause the mongos to refresh unless an affected chunk is
* targeted.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/clear_jumbo.js b/jstests/sharding/clear_jumbo.js
index 31db0242b4d..9b14e68db44 100644
--- a/jstests/sharding/clear_jumbo.js
+++ b/jstests/sharding/clear_jumbo.js
@@ -1,5 +1,3 @@
-// @tags: [requires_fcv_44]
-
(function() {
"use strict";
diff --git a/jstests/sharding/clone_catalog_data.js b/jstests/sharding/clone_catalog_data.js
index 0d1d0360f9c..94d3ee8fd8f 100644
--- a/jstests/sharding/clone_catalog_data.js
+++ b/jstests/sharding/clone_catalog_data.js
@@ -2,7 +2,6 @@
// Test that the 'cloneCatalogData' command works correctly.
// Eventually, _shardsvrMovePrimary will use this command.
-// @tags: [requires_fcv_44]
(() => {
function sortByName(a, b) {
diff --git a/jstests/sharding/commands_that_write_accept_wc_shards.js b/jstests/sharding/commands_that_write_accept_wc_shards.js
index 1e9dc210ff8..09a5eed00fc 100644
--- a/jstests/sharding/commands_that_write_accept_wc_shards.js
+++ b/jstests/sharding/commands_that_write_accept_wc_shards.js
@@ -7,7 +7,9 @@
*
* This test is labeled resource intensive because its total io_write is 58MB compared to a median
* of 5MB across all sharding tests in wiredTiger.
- * @tags: [resource_intensive, requires_fcv_44]
+ * @tags: [
+ * resource_intensive,
+ * ]
*/
load('jstests/libs/write_concern_util.js');
diff --git a/jstests/sharding/compound_hashed_shard_key_covered_query.js b/jstests/sharding/compound_hashed_shard_key_covered_query.js
index d76a74cec5f..17ec21458f5 100644
--- a/jstests/sharding/compound_hashed_shard_key_covered_query.js
+++ b/jstests/sharding/compound_hashed_shard_key_covered_query.js
@@ -1,8 +1,6 @@
/**
* Test to verify the covering behaviour of compound hashed index on a cluster sharded with compound
* hashed shard key.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/compound_hashed_shard_key_presplitting.js b/jstests/sharding/compound_hashed_shard_key_presplitting.js
index f37b1a6c97c..57b792e4a37 100644
--- a/jstests/sharding/compound_hashed_shard_key_presplitting.js
+++ b/jstests/sharding/compound_hashed_shard_key_presplitting.js
@@ -2,7 +2,9 @@
* Tests the pre-splitting behaviour of compound hashed shard key, for both the case where the
* prefix field is hashed, and where the hashed field is not the prefix.
*
- * @tags: [requires_fcv_44, multiversion_incompatible]
+ * @tags: [
+ * multiversion_incompatible,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/compound_hashed_shard_key_sharding_cmds.js b/jstests/sharding/compound_hashed_shard_key_sharding_cmds.js
index 2ad2b476235..a0c005f282d 100644
--- a/jstests/sharding/compound_hashed_shard_key_sharding_cmds.js
+++ b/jstests/sharding/compound_hashed_shard_key_sharding_cmds.js
@@ -1,7 +1,9 @@
/**
* Perform tests for moveChunk and splitChunk commands when the shard key is compound hashed.
*
- * @tags: [requires_fcv_44, multiversion_incompatible]
+ * @tags: [
+ * multiversion_incompatible,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/compound_hashed_shard_key_targeting.js b/jstests/sharding/compound_hashed_shard_key_targeting.js
index 2bf651ddb3d..6066cb5a863 100644
--- a/jstests/sharding/compound_hashed_shard_key_targeting.js
+++ b/jstests/sharding/compound_hashed_shard_key_targeting.js
@@ -2,7 +2,10 @@
* Test to verify that all the CRUD operations get routed to the correct shard when the shard key is
* compound hashed.
*
- * @tags: [requires_fcv_44, multiversion_incompatible, requires_majority_read_concern]
+ * @tags: [
+ * multiversion_incompatible,
+ * requires_majority_read_concern,
+ * ]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/compound_hashed_shard_key_zoning.js b/jstests/sharding/compound_hashed_shard_key_zoning.js
index 65c553f2f8f..83692acbb38 100644
--- a/jstests/sharding/compound_hashed_shard_key_zoning.js
+++ b/jstests/sharding/compound_hashed_shard_key_zoning.js
@@ -5,7 +5,9 @@
* - Creating zones before sharding the collection.
* - Creating zones in collection which has data and then sharding the collection.
*
- * @tags: [requires_fcv_44, multiversion_incompatible]
+ * @tags: [
+ * multiversion_incompatible,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/count1.js b/jstests/sharding/count1.js
index ad0eb92843d..ce9ce017692 100644
--- a/jstests/sharding/count1.js
+++ b/jstests/sharding/count1.js
@@ -1,5 +1,3 @@
-// @tags: [requires_fcv_44];
-
(function() {
'use strict';
diff --git a/jstests/sharding/covered_shard_key_indexes.js b/jstests/sharding/covered_shard_key_indexes.js
index 777b41fa975..773a3d0927b 100644
--- a/jstests/sharding/covered_shard_key_indexes.js
+++ b/jstests/sharding/covered_shard_key_indexes.js
@@ -1,7 +1,6 @@
//
// Tests that indexes containing the shard key can be used without fetching the document for
// particular queries
-// @tags: [requires_fcv_44]
//
load("jstests/libs/analyze_plan.js");
diff --git a/jstests/sharding/create_existing_indexes_prepared_transactions.js b/jstests/sharding/create_existing_indexes_prepared_transactions.js
index 1b5b512f059..553641258f5 100644
--- a/jstests/sharding/create_existing_indexes_prepared_transactions.js
+++ b/jstests/sharding/create_existing_indexes_prepared_transactions.js
@@ -4,7 +4,6 @@
//
// @tags: [
// requires_find_command,
-// requires_fcv_44,
// requires_sharding,
// uses_multi_shard_transaction,
// uses_transactions,
diff --git a/jstests/sharding/create_new_collections_prepared_transactions.js b/jstests/sharding/create_new_collections_prepared_transactions.js
index 3aa57dd358f..902efdad413 100644
--- a/jstests/sharding/create_new_collections_prepared_transactions.js
+++ b/jstests/sharding/create_new_collections_prepared_transactions.js
@@ -3,7 +3,6 @@
//
// @tags: [
// requires_find_command,
-// requires_fcv_44,
// requires_sharding,
// uses_multi_shard_transaction,
// uses_transactions,
diff --git a/jstests/sharding/database_versioning_safe_secondary_reads.js b/jstests/sharding/database_versioning_safe_secondary_reads.js
index 8009361c877..f22eca34ebb 100644
--- a/jstests/sharding/database_versioning_safe_secondary_reads.js
+++ b/jstests/sharding/database_versioning_safe_secondary_reads.js
@@ -4,7 +4,6 @@
* - the node does not have a cached in-memory version
* - the node's cached in-memory version is lower than the version sent by a client
* - the movePrimary critical section is entered on the primary node
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/delete_range_deletion_tasks_on_stepup_after_drop_collection.js b/jstests/sharding/delete_range_deletion_tasks_on_stepup_after_drop_collection.js
index 7a9e882d5f4..f324c01ee8e 100644
--- a/jstests/sharding/delete_range_deletion_tasks_on_stepup_after_drop_collection.js
+++ b/jstests/sharding/delete_range_deletion_tasks_on_stepup_after_drop_collection.js
@@ -1,9 +1,6 @@
/**
* Tests that range deletion tasks are eventually deleted even if collection is dropped
* before migration coordination is resumed.
- *
- * This test expects migrations to use the FCV 4.4 protocol.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/extract_shard_key_values.js b/jstests/sharding/extract_shard_key_values.js
index 90f4bb810c2..7a6413c4804 100644
--- a/jstests/sharding/extract_shard_key_values.js
+++ b/jstests/sharding/extract_shard_key_values.js
@@ -2,7 +2,11 @@
// Tests that documents in a sharded collection with missing shard key fields are treated as if they
// contain an explicit null value for any missing fields.
//
-// @tags: [requires_find_command, uses_transactions, uses_multi_shard_transactions, requires_fcv_44]
+// @tags: [
+// requires_find_command,
+// uses_multi_shard_transactions,
+// uses_transactions,
+// ]
(function() {
'use strict';
diff --git a/jstests/sharding/features1.js b/jstests/sharding/features1.js
index 63829186a5c..25308f47788 100644
--- a/jstests/sharding/features1.js
+++ b/jstests/sharding/features1.js
@@ -1,5 +1,3 @@
-// @tags: [requires_fcv_44]
-
(function() {
'use strict';
diff --git a/jstests/sharding/finer_grained_feature_flag.js b/jstests/sharding/finer_grained_feature_flag.js
index 9881ee413f6..43ce876fb04 100644
--- a/jstests/sharding/finer_grained_feature_flag.js
+++ b/jstests/sharding/finer_grained_feature_flag.js
@@ -1,7 +1,6 @@
/**
* Test that chunk operations cause the mongos to refresh if the finer grained catalog cache
* refresh flag is set to false.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/fts_score_sort_sharded.js b/jstests/sharding/fts_score_sort_sharded.js
index fbeec5d8497..262a676d89c 100644
--- a/jstests/sharding/fts_score_sort_sharded.js
+++ b/jstests/sharding/fts_score_sort_sharded.js
@@ -1,9 +1,5 @@
// Test that queries with a sort on text metadata return results in the correct order in a sharded
// collection.
-//
-// Require all nodes to be 4.4, since validation around $meta:"textScore" was relaxed in that
-// version, and the new behavior is tested here.
-// @tags: [requires_fcv_44]
var st = new ShardingTest({shards: 2});
st.stopBalancer();
diff --git a/jstests/sharding/hedged_reads.js b/jstests/sharding/hedged_reads.js
index 7e9701e6bf9..7108de46908 100644
--- a/jstests/sharding/hedged_reads.js
+++ b/jstests/sharding/hedged_reads.js
@@ -1,6 +1,5 @@
-/*
+/**
* Tests hedging metrics in the serverStatus output.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/hedging_metrics_server_status.js b/jstests/sharding/hedging_metrics_server_status.js
index b40279896c4..6c0622eb278 100644
--- a/jstests/sharding/hedging_metrics_server_status.js
+++ b/jstests/sharding/hedging_metrics_server_status.js
@@ -1,6 +1,5 @@
-/*
+/**
* Tests hedging metrics in the serverStatus output.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/in_memory_sort_limit.js b/jstests/sharding/in_memory_sort_limit.js
index 8188eca0bc5..edc5d1ac7c0 100644
--- a/jstests/sharding/in_memory_sort_limit.js
+++ b/jstests/sharding/in_memory_sort_limit.js
@@ -1,7 +1,6 @@
// Test SERVER-14306. Do a query directly against a mongod with an in-memory sort and a limit that
// doesn't cause the in-memory sort limit to be reached, then make sure the same limit also doesn't
// cause the in-memory sort limit to be reached when running through a mongos.
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/index_stats_pipeline_detects_inconsistent_indexes.js b/jstests/sharding/index_stats_pipeline_detects_inconsistent_indexes.js
index b367bcd9f8f..22ab6211047 100644
--- a/jstests/sharding/index_stats_pipeline_detects_inconsistent_indexes.js
+++ b/jstests/sharding/index_stats_pipeline_detects_inconsistent_indexes.js
@@ -1,7 +1,6 @@
/**
* Test to demonstrate usage of $indexStats in an aggregation pipeline to detect inconsistent
* indexes in a sharded cluster.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/list_indexes_shard_targeting.js b/jstests/sharding/list_indexes_shard_targeting.js
index 8ab2f47c4b4..bd25b2648eb 100644
--- a/jstests/sharding/list_indexes_shard_targeting.js
+++ b/jstests/sharding/list_indexes_shard_targeting.js
@@ -1,8 +1,7 @@
-/*
+/**
* Test that for an unsharded collection the listIndexes command targets the database's primary
* shard, and for a sharded collection the command sends and checks shard versions and only
* targets the shard that owns the MinKey chunk.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/merge_from_stale_mongos.js b/jstests/sharding/merge_from_stale_mongos.js
index 2d86ba3117a..9fc30142d88 100644
--- a/jstests/sharding/merge_from_stale_mongos.js
+++ b/jstests/sharding/merge_from_stale_mongos.js
@@ -1,7 +1,5 @@
// Tests for $merge against a stale mongos with combinations of sharded/unsharded source and target
// collections.
-// Requires fcv44 because the expected error codes for $out have changed in 4.4.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/mongos_precache_routing_info.js b/jstests/sharding/mongos_precache_routing_info.js
index 786d56149db..6c3e59e7591 100644
--- a/jstests/sharding/mongos_precache_routing_info.js
+++ b/jstests/sharding/mongos_precache_routing_info.js
@@ -1,5 +1,3 @@
-//@tags: [requires_fcv_44]
-
(function() {
'use strict';
diff --git a/jstests/sharding/move_jumbo_chunk.js b/jstests/sharding/move_jumbo_chunk.js
index 86494b6d581..95da8dee66a 100644
--- a/jstests/sharding/move_jumbo_chunk.js
+++ b/jstests/sharding/move_jumbo_chunk.js
@@ -1,9 +1,6 @@
/**
* Test that a jumbo chunk can be moved using both manually and by the balancer when the
* 'forceJumbo' option is set to true.
- *
- * Remove requires_fcv_44 tag if SERVER-42273 is backported or 4.4 becomes last-stable.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/move_primary_clone_test.js b/jstests/sharding/move_primary_clone_test.js
index f36818fd68b..404562e7cd1 100644
--- a/jstests/sharding/move_primary_clone_test.js
+++ b/jstests/sharding/move_primary_clone_test.js
@@ -1,5 +1,3 @@
-// @tags: [requires_fcv_44]
-
(function() {
'use strict';
diff --git a/jstests/sharding/movechunk_interrupt_at_primary_stepdown.js b/jstests/sharding/movechunk_interrupt_at_primary_stepdown.js
index 463f67008d4..67dac54fdc7 100644
--- a/jstests/sharding/movechunk_interrupt_at_primary_stepdown.js
+++ b/jstests/sharding/movechunk_interrupt_at_primary_stepdown.js
@@ -5,9 +5,6 @@
// Also tests the failure of a migration commit command on the source shard of a migration, due to
// the balancer being interrupted, failing to recover the active migrations, and releasing the
// distributed lock.
-//
-// Remove requires_fcv_44 tag if SERVER-42273 is backported or 4.4 becomes last-stable.
-// @tags: [requires_fcv_44]
load('./jstests/libs/chunk_manipulation_util.js');
diff --git a/jstests/sharding/mr_noscripting.js b/jstests/sharding/mr_noscripting.js
index dd4c2d83f9b..8ef5ffaee22 100644
--- a/jstests/sharding/mr_noscripting.js
+++ b/jstests/sharding/mr_noscripting.js
@@ -1,5 +1,4 @@
// Tests that running mapReduce does not crash anything if the shards have scripting disabled.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
const shardOpts = [
diff --git a/jstests/sharding/now_variable_sharding.js b/jstests/sharding/now_variable_sharding.js
index f0c545ff99f..cc4f8567fa8 100644
--- a/jstests/sharding/now_variable_sharding.js
+++ b/jstests/sharding/now_variable_sharding.js
@@ -3,7 +3,6 @@
*/
// @tags: [
// requires_find_command,
-// requires_fcv_44 # Uses $unionWith.
// ]
(function() {
"use strict";
diff --git a/jstests/sharding/num_hosts_targeted_metrics.js b/jstests/sharding/num_hosts_targeted_metrics.js
index 322aa4b9269..d951c6f2277 100644
--- a/jstests/sharding/num_hosts_targeted_metrics.js
+++ b/jstests/sharding/num_hosts_targeted_metrics.js
@@ -1,7 +1,9 @@
-/*
- * This test checks behavior that is new to mongos on v4.4.
- * @tags: [requires_fcv_44, multiversion_incompatible, uses_transactions,
- * uses_multi_shard_transaction]
+/**
+ * @tags: [
+ * multiversion_incompatible,
+ * uses_multi_shard_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/sharding/prefix_shard_key.js b/jstests/sharding/prefix_shard_key.js
index 2c33ff77fd5..fdec2e887ec 100644
--- a/jstests/sharding/prefix_shard_key.js
+++ b/jstests/sharding/prefix_shard_key.js
@@ -6,7 +6,6 @@
// Part 3: Shard new collection on {skey : 1} but with a longer index.
// Insert docs with same val for 'skey' but different vals for 'extra'.
// Move chunks around and check that [min,max) chunk boundaries are properly obeyed.
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/query/agg_explain_fmt.js b/jstests/sharding/query/agg_explain_fmt.js
index a9e845d5925..89ee1614519 100644
--- a/jstests/sharding/query/agg_explain_fmt.js
+++ b/jstests/sharding/query/agg_explain_fmt.js
@@ -1,5 +1,4 @@
// This test ensures that explain of an aggregate through mongos has the intended format.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/agg_js_on_mongos.js b/jstests/sharding/query/agg_js_on_mongos.js
index 1c75aff18db..e85b164cd7d 100644
--- a/jstests/sharding/query/agg_js_on_mongos.js
+++ b/jstests/sharding/query/agg_js_on_mongos.js
@@ -1,6 +1,5 @@
// Performs an aggregation that will execute JavaScript on mongos. This is a sanity check to confirm
// that JavaScript is available on mongos.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/collation_targeting.js b/jstests/sharding/query/collation_targeting.js
index 7b60eafc68d..b8172065f19 100644
--- a/jstests/sharding/query/collation_targeting.js
+++ b/jstests/sharding/query/collation_targeting.js
@@ -1,5 +1,4 @@
// Test shard targeting for queries with collation.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/collation_targeting_inherited.js b/jstests/sharding/query/collation_targeting_inherited.js
index c86198adbcb..6006c25a8c9 100644
--- a/jstests/sharding/query/collation_targeting_inherited.js
+++ b/jstests/sharding/query/collation_targeting_inherited.js
@@ -1,5 +1,4 @@
// Test shard targeting for queries on a collection with a default collation.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/comment_field_sharded.js b/jstests/sharding/query/comment_field_sharded.js
index 2a8753bac80..9482f6f4870 100644
--- a/jstests/sharding/query/comment_field_sharded.js
+++ b/jstests/sharding/query/comment_field_sharded.js
@@ -2,8 +2,6 @@
* Test to verify that the 'comment' field set while running a command gets populated in $currentOp
* and profiler. This test also verifies that for a sharded collection, the 'comment' fields gets
* passed on from mongos to the respective shards.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/query/explain_agg_read_pref.js b/jstests/sharding/query/explain_agg_read_pref.js
index 8bc048ffc20..57e5f639b1f 100644
--- a/jstests/sharding/query/explain_agg_read_pref.js
+++ b/jstests/sharding/query/explain_agg_read_pref.js
@@ -1,7 +1,5 @@
/**
* Tests that readPref applies on an explain for an aggregation command.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/query/explain_exec_stats_on_shards.js b/jstests/sharding/query/explain_exec_stats_on_shards.js
index 3fb797e0a1a..fa2a21864d8 100644
--- a/jstests/sharding/query/explain_exec_stats_on_shards.js
+++ b/jstests/sharding/query/explain_exec_stats_on_shards.js
@@ -1,6 +1,5 @@
// Tests for the mongos explain command to ensure that the 'executionStats' section of the explain
// output is populated correctly for each shard.
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/query/find_getmore_cmd.js b/jstests/sharding/query/find_getmore_cmd.js
index 957a2408c3c..d2dcc311523 100644
--- a/jstests/sharding/query/find_getmore_cmd.js
+++ b/jstests/sharding/query/find_getmore_cmd.js
@@ -3,7 +3,6 @@
*
* Always run on a fully upgraded cluster, so that {$meta: "sortKey"} projections use the newest
* sort key format.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/query/javascript_heap_limit.js b/jstests/sharding/query/javascript_heap_limit.js
index f92907fb6b3..c08c4fdd778 100644
--- a/jstests/sharding/query/javascript_heap_limit.js
+++ b/jstests/sharding/query/javascript_heap_limit.js
@@ -1,6 +1,5 @@
// Confirms that JavaScript heap limits are respected in aggregation. Includes testing for mapReduce
// and $where which use aggregation for execution.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/map_reduce_invalid_output_collection.js b/jstests/sharding/query/map_reduce_invalid_output_collection.js
index 6f688389d13..8e064036585 100644
--- a/jstests/sharding/query/map_reduce_invalid_output_collection.js
+++ b/jstests/sharding/query/map_reduce_invalid_output_collection.js
@@ -1,6 +1,5 @@
// Test that mapReduce correctly fails if the target collection is not unsharded or sharded by just
// _id.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/map_reduce_invalid_result_set.js b/jstests/sharding/query/map_reduce_invalid_result_set.js
index b2959be3548..9cff93a6899 100644
--- a/jstests/sharding/query/map_reduce_invalid_result_set.js
+++ b/jstests/sharding/query/map_reduce_invalid_result_set.js
@@ -1,8 +1,7 @@
// Tests that mapReduce commands fail if the result set does not fit into a single batch.
// @tags: [
-// requires_fcv_44,
-// uses_map_reduce_with_temp_collections,
// does_not_support_stepdowns,
+// uses_map_reduce_with_temp_collections,
// ]
(function() {
diff --git a/jstests/sharding/query/merge_command_options.js b/jstests/sharding/query/merge_command_options.js
index 7d29a9157ea..57a6e67d08b 100644
--- a/jstests/sharding/query/merge_command_options.js
+++ b/jstests/sharding/query/merge_command_options.js
@@ -1,6 +1,4 @@
// Tests that aggregations with a $merge stage respect the options set on the command.
-// Requires fcv44 for when $out against a secondary creates a temp collection.
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/query/mongos_query_comment.js b/jstests/sharding/query/mongos_query_comment.js
index 63cc3489d2d..28fb8cb9c05 100644
--- a/jstests/sharding/query/mongos_query_comment.js
+++ b/jstests/sharding/query/mongos_query_comment.js
@@ -3,7 +3,6 @@
* into a find command for the shards. In addition, verify that the find command comment parameter
* and query operator are passed to the shards correctly, and that an attempt to attach a non-string
* comment to the find command fails.
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/query/mrShardedOutput.js b/jstests/sharding/query/mrShardedOutput.js
index 798344880e3..08aaa3a11ac 100644
--- a/jstests/sharding/query/mrShardedOutput.js
+++ b/jstests/sharding/query/mrShardedOutput.js
@@ -2,7 +2,6 @@
// flag.
// This test stresses behavior that is only true of the mapReduce implementation using aggregation,
// so it cannot be run in mixed-version suites.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/mr_output_options.js b/jstests/sharding/query/mr_output_options.js
index 893aee7d879..477e71732d9 100644
--- a/jstests/sharding/query/mr_output_options.js
+++ b/jstests/sharding/query/mr_output_options.js
@@ -1,8 +1,5 @@
// Tests that the mapReduce command works correctly under all combinations of the input and output
// collections being sharded or unsharded.
-// Map Reduce before 4.4. does not support outputting to a sharded collection whose shard key is
-// {_id: "hashed"}.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/out_fails_to_replace_sharded_collection.js b/jstests/sharding/query/out_fails_to_replace_sharded_collection.js
index 1be274cc50c..0eef71b210a 100644
--- a/jstests/sharding/query/out_fails_to_replace_sharded_collection.js
+++ b/jstests/sharding/query/out_fails_to_replace_sharded_collection.js
@@ -1,7 +1,5 @@
// Tests that an aggregate with an $out cannot output to a sharded collection, even if the
// collection becomes sharded during the aggregation.
-// Requires fcv44 because the expected error codes for $out have changed in 4.4.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/query/unionWith_current_op.js b/jstests/sharding/query/unionWith_current_op.js
index 9b3ad15f092..37d18a40eb2 100644
--- a/jstests/sharding/query/unionWith_current_op.js
+++ b/jstests/sharding/query/unionWith_current_op.js
@@ -1,8 +1,6 @@
/**
* Tests to verify that the current op output shows all the sub-pipelines of a $unionWith. In this
* test we also validate that current op shows the expected stages and comment.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/query/unionWith_lookup.js b/jstests/sharding/query/unionWith_lookup.js
index a5bbe24c49f..95cc150980f 100644
--- a/jstests/sharding/query/unionWith_lookup.js
+++ b/jstests/sharding/query/unionWith_lookup.js
@@ -1,8 +1,5 @@
// Tests various combinations of $lookup and $unionWith to ensure that referencing a sharded
// collection within $lookup is not allowed.
-// @tags: [
-// requires_fcv_44
-// ]
(function() {
"use strict";
diff --git a/jstests/sharding/query/union_sharded_views.js b/jstests/sharding/query/union_sharded_views.js
index 33bac9dda26..cd66172439b 100644
--- a/jstests/sharding/query/union_sharded_views.js
+++ b/jstests/sharding/query/union_sharded_views.js
@@ -1,7 +1,7 @@
// Tests that $unionWith can successfully read from a view that is backed by a sharded collection.
// @tags: [
-// requires_fcv_44, # Uses $unionWith
-// requires_find_command, # Uses views, which do not support OP_QUERY.
+// # Uses $unionWith
+// requires_find_command,
// ]
(function() {
"use strict";
diff --git a/jstests/sharding/read_pref_cmd.js b/jstests/sharding/read_pref_cmd.js
index 91729d438a2..2c2a7f3332b 100644
--- a/jstests/sharding/read_pref_cmd.js
+++ b/jstests/sharding/read_pref_cmd.js
@@ -3,7 +3,6 @@
* of 5MB across all sharding tests in wiredTiger.
* @tags: [
* resource_intensive,
- * requires_fcv_44,
* ]
*/
(function() {
diff --git a/jstests/sharding/read_pref_with_hedging_mode.js b/jstests/sharding/read_pref_with_hedging_mode.js
index bddadc66594..64957daa6d0 100644
--- a/jstests/sharding/read_pref_with_hedging_mode.js
+++ b/jstests/sharding/read_pref_with_hedging_mode.js
@@ -1,9 +1,6 @@
-/*
+/**
* Intergration test for read preference with hedging mode. The more comprehensive
* unit test can be found in dbtests/read_preference_test.cpp and s/hedge_options_util_test.cpp.
- *
- * TODO (SERVER-45432): test that hedging is performed as expected.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/read_write_concern_defaults_application.js b/jstests/sharding/read_write_concern_defaults_application.js
index e11cd97c770..fe76013bd64 100644
--- a/jstests/sharding/read_write_concern_defaults_application.js
+++ b/jstests/sharding/read_write_concern_defaults_application.js
@@ -23,7 +23,6 @@
*
* @tags: [
* does_not_support_stepdowns,
- * requires_fcv_44,
* requires_majority_read_concern,
* requires_profiling,
* uses_transactions,
diff --git a/jstests/sharding/read_write_concern_defaults_commands_api.js b/jstests/sharding/read_write_concern_defaults_commands_api.js
index bfb9c8e6bb4..9575870733e 100644
--- a/jstests/sharding/read_write_concern_defaults_commands_api.js
+++ b/jstests/sharding/read_write_concern_defaults_commands_api.js
@@ -1,7 +1,5 @@
// Tests the basic API of the getDefaultRWConcern and setDefaultRWConcern commands and their
// associated persisted state against different topologies.
-//
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/read_write_concern_defaults_propagation.js b/jstests/sharding/read_write_concern_defaults_propagation.js
index 4d855a438bb..518a8ab47e8 100644
--- a/jstests/sharding/read_write_concern_defaults_propagation.js
+++ b/jstests/sharding/read_write_concern_defaults_propagation.js
@@ -1,6 +1,4 @@
// Tests propagation of RWC defaults across a sharded cluster.
-//
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/refine_collection_shard_key_atomic.js b/jstests/sharding/refine_collection_shard_key_atomic.js
index ad2721c35a9..6e80597cd6c 100644
--- a/jstests/sharding/refine_collection_shard_key_atomic.js
+++ b/jstests/sharding/refine_collection_shard_key_atomic.js
@@ -1,7 +1,6 @@
//
// Tests that refineCollectionShardKey atomically updates metadata in config.collections,
// config.chunks, and config.tags.
-// @tags: [requires_fcv_44]
//
(function() {
diff --git a/jstests/sharding/refine_collection_shard_key_basic.js b/jstests/sharding/refine_collection_shard_key_basic.js
index 027861f7e64..88f09fb73af 100644
--- a/jstests/sharding/refine_collection_shard_key_basic.js
+++ b/jstests/sharding/refine_collection_shard_key_basic.js
@@ -3,7 +3,10 @@
//
// Tag this test as 'requires_find_command' to prevent it from running in the legacy passthroughs
// and as 'requires_document_locking' because it uses retryable writes.
-// @tags: [requires_find_command, requires_document_locking, requires_fcv_44]
+// @tags: [
+// requires_document_locking,
+// requires_find_command,
+// ]
//
(function() {
diff --git a/jstests/sharding/refine_collection_shard_key_changelog.js b/jstests/sharding/refine_collection_shard_key_changelog.js
index bc368252785..9d2f3f32195 100644
--- a/jstests/sharding/refine_collection_shard_key_changelog.js
+++ b/jstests/sharding/refine_collection_shard_key_changelog.js
@@ -2,7 +2,9 @@
// Basic tests for refineCollectionShardKey.
//
// Tag this test as 'requires_find_command' to prevent it from running in the legacy passthrough.
-// @tags: [requires_find_command, requires_fcv_44]
+// @tags: [
+// requires_find_command,
+// ]
//
(function() {
diff --git a/jstests/sharding/refine_collection_shard_key_drops_chunks.js b/jstests/sharding/refine_collection_shard_key_drops_chunks.js
index 3ecafdb40bd..9f89445fa67 100644
--- a/jstests/sharding/refine_collection_shard_key_drops_chunks.js
+++ b/jstests/sharding/refine_collection_shard_key_drops_chunks.js
@@ -1,7 +1,6 @@
//
// Tests that refineCollectionShardKey deletes all existing chunks in the persisted routing table
// cache.
-// @tags: [requires_fcv_44]
//
(function() {
diff --git a/jstests/sharding/refine_collection_shard_key_jumbo.js b/jstests/sharding/refine_collection_shard_key_jumbo.js
index ed3adbfc0fb..2d198f30179 100644
--- a/jstests/sharding/refine_collection_shard_key_jumbo.js
+++ b/jstests/sharding/refine_collection_shard_key_jumbo.js
@@ -1,6 +1,5 @@
//
// Jumbo tests for refineCollectionShardKey.
-// @tags: [requires_fcv_44]
//
(function() {
diff --git a/jstests/sharding/refine_collection_shard_key_primary_without_chunks.js b/jstests/sharding/refine_collection_shard_key_primary_without_chunks.js
index 1d1ebfa5d57..67bde6479c2 100644
--- a/jstests/sharding/refine_collection_shard_key_primary_without_chunks.js
+++ b/jstests/sharding/refine_collection_shard_key_primary_without_chunks.js
@@ -1,6 +1,5 @@
// Verifies refining a shard key checks for the presence of a compatible shard key index on a shard
// with chunks, not the primary shard.
-// @tags: [requires_fcv_44]
(function() {
"use strict";
diff --git a/jstests/sharding/retryable_write_error_labels.js b/jstests/sharding/retryable_write_error_labels.js
index 326cbf912d4..51912eeb60b 100644
--- a/jstests/sharding/retryable_write_error_labels.js
+++ b/jstests/sharding/retryable_write_error_labels.js
@@ -4,7 +4,10 @@
* The "requires_find_command" tag excludes this test from the op_query suites, which are
* incompatible with implicit sessions.
*
- * @tags: [uses_transactions, requires_fcv_44, requires_find_command]
+ * @tags: [
+ * requires_find_command,
+ * uses_transactions,
+ * ]
*/
(function() {
diff --git a/jstests/sharding/server_status_crud_metrics.js b/jstests/sharding/server_status_crud_metrics.js
index 821793a2a8c..62a513242ca 100644
--- a/jstests/sharding/server_status_crud_metrics.js
+++ b/jstests/sharding/server_status_crud_metrics.js
@@ -1,10 +1,6 @@
/**
* Tests for the 'metrics.query' section of the mongoS serverStatus response dealing with CRUD
* operations.
- *
- * TODO SERVER-47015: Remove this blacklist once the changes from SERVER-46505 are in the
- * last-stable binary used for multiversion testing.
- * @tags: [requires_fcv_44]
*/
(function() {
diff --git a/jstests/sharding/set_default_rwc_before_stop_sharding_test.js b/jstests/sharding/set_default_rwc_before_stop_sharding_test.js
index 77312aabac2..7c1bfebd806 100644
--- a/jstests/sharding/set_default_rwc_before_stop_sharding_test.js
+++ b/jstests/sharding/set_default_rwc_before_stop_sharding_test.js
@@ -1,8 +1,6 @@
/**
* Tests that none of the operations in the ShardingTest shutdown consistency checks are affected by
* the cluster wide default read and write concern.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/shard1.js b/jstests/sharding/shard1.js
index f19dcc90e56..b4c7c0842d8 100644
--- a/jstests/sharding/shard1.js
+++ b/jstests/sharding/shard1.js
@@ -1,6 +1,5 @@
/**
* this tests some of the ground work
- * @tags: [requires_fcv_44]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/shard_drops_non_donor_indexes_before_first_chunk.js b/jstests/sharding/shard_drops_non_donor_indexes_before_first_chunk.js
index 40590478f57..b7514be78cd 100644
--- a/jstests/sharding/shard_drops_non_donor_indexes_before_first_chunk.js
+++ b/jstests/sharding/shard_drops_non_donor_indexes_before_first_chunk.js
@@ -1,8 +1,6 @@
/**
* Verify that a recipient shard drops indexes that do not exist on the donor shard before
* receiving its first chunk.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/shard_removal_triggers_catalog_cache_invalidation.js b/jstests/sharding/shard_removal_triggers_catalog_cache_invalidation.js
index a026a36000e..cae4c13d879 100644
--- a/jstests/sharding/shard_removal_triggers_catalog_cache_invalidation.js
+++ b/jstests/sharding/shard_removal_triggers_catalog_cache_invalidation.js
@@ -1,7 +1,6 @@
/**
* Tests that shard removal triggers an update of the catalog cache so that routers don't continue
* to target shards that have been removed.
- * @tags: [requires_fcv_44]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/sharding_balance2.js b/jstests/sharding/sharding_balance2.js
index 1f68c723f44..a8eaad6ad71 100644
--- a/jstests/sharding/sharding_balance2.js
+++ b/jstests/sharding/sharding_balance2.js
@@ -1,6 +1,5 @@
/**
* Test the maxSize setting for the addShard command.
- * @tags: [requires_fcv_44]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/sharding_balance3.js b/jstests/sharding/sharding_balance3.js
index 480cbe568af..7639dbb8762 100644
--- a/jstests/sharding/sharding_balance3.js
+++ b/jstests/sharding/sharding_balance3.js
@@ -1,5 +1,4 @@
// Waits for the balancer to run once, then stops it and checks that it is no longer running.
-// @tags: [requires_fcv_44]
(function() {
diff --git a/jstests/sharding/single_shard_find_forwarding.js b/jstests/sharding/single_shard_find_forwarding.js
index 350004e048c..4cf60711d45 100644
--- a/jstests/sharding/single_shard_find_forwarding.js
+++ b/jstests/sharding/single_shard_find_forwarding.js
@@ -7,7 +7,9 @@
* the primary shard. It then runs a find().skip(n).limit(m) and ensures that the document count
* meets expectation. It then runs the same test against a sharded collection with a single shard.
*/
-// @tags: [requires_fcv_44, requires_find_command]
+// @tags: [
+// requires_find_command,
+// ]
load("jstests/libs/profiler.js"); // For profilerHas*OrThrow helper functions.
load("jstests/libs/analyze_plan.js"); // For getPlanStages helper function.
diff --git a/jstests/sharding/split_large_key.js b/jstests/sharding/split_large_key.js
index be7dccf9303..c90f792e189 100644
--- a/jstests/sharding/split_large_key.js
+++ b/jstests/sharding/split_large_key.js
@@ -1,5 +1,4 @@
// Test for splitting a chunk with a very large shard key value.
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/transactions_error_labels.js b/jstests/sharding/transactions_error_labels.js
index 67c97509469..a694f3e89c1 100644
--- a/jstests/sharding/transactions_error_labels.js
+++ b/jstests/sharding/transactions_error_labels.js
@@ -1,7 +1,9 @@
// Test TransientTransactionErrors error label in mongos write commands.
//
-// Remove requires_fcv_44 tag if SERVER-43941 is backported or 4.4 becomes last-stable.
-// @tags: [uses_transactions, uses_multi_shard_transaction, requires_fcv_44]
+// @tags: [
+// uses_multi_shard_transaction,
+// uses_transactions,
+// ]
(function() {
"use strict";
diff --git a/jstests/sharding/transient_txn_error_labels.js b/jstests/sharding/transient_txn_error_labels.js
index 400bd943d70..36715f301f7 100644
--- a/jstests/sharding/transient_txn_error_labels.js
+++ b/jstests/sharding/transient_txn_error_labels.js
@@ -1,8 +1,7 @@
/**
* Test TransientTransactionErrors error label in transactions.
* @tags: [
- * uses_transactions,
- * requires_fcv_44,
+ * uses_transactions,
* ]
*/
diff --git a/jstests/sharding/transient_txn_error_labels_with_write_concern.js b/jstests/sharding/transient_txn_error_labels_with_write_concern.js
index d7a6f7f2184..5838db045fa 100644
--- a/jstests/sharding/transient_txn_error_labels_with_write_concern.js
+++ b/jstests/sharding/transient_txn_error_labels_with_write_concern.js
@@ -1,7 +1,7 @@
/**
* Test TransientTransactionError error label for commands in transactions with write concern.
* @tags: [
- * uses_transactions, requires_fcv_44
+ * uses_transactions,
* ]
*/
(function() {
diff --git a/jstests/sharding/unfinished_migration_server_status.js b/jstests/sharding/unfinished_migration_server_status.js
index 8ccb5ca42c2..96ec9804f7c 100644
--- a/jstests/sharding/unfinished_migration_server_status.js
+++ b/jstests/sharding/unfinished_migration_server_status.js
@@ -1,8 +1,6 @@
/**
* Test that unfinishedMigrationFromPreviousPrimary field in shardingStatistics reports the
* expected number.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/update_compound_shard_key.js b/jstests/sharding/update_compound_shard_key.js
index 960d77e49a3..472bd97f091 100644
--- a/jstests/sharding/update_compound_shard_key.js
+++ b/jstests/sharding/update_compound_shard_key.js
@@ -1,6 +1,9 @@
/**
* Tests to validate the functionality of update command in the presence of a compound shard key.
- * @tags: [uses_transactions, uses_multi_shard_transaction, requires_fcv_44]
+ * @tags: [
+ * uses_multi_shard_transaction,
+ * uses_transactions,
+ * ]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/update_replace_id.js b/jstests/sharding/update_replace_id.js
index 1b5ab8f43e0..5a66ba78da3 100644
--- a/jstests/sharding/update_replace_id.js
+++ b/jstests/sharding/update_replace_id.js
@@ -11,7 +11,11 @@
* into its replacement, and in the case of an upsert will use the value of _id from the query
* filter.
*
- * @tags: [requires_find_command, uses_transactions, uses_multi_shard_transactions, requires_fcv_44]
+ * @tags: [
+ * requires_find_command,
+ * uses_multi_shard_transactions,
+ * uses_transactions,
+ * ]
*/
(function() {
load("jstests/libs/profiler.js"); // For profilerHas*OrThrow helper functions.
diff --git a/jstests/sharding/update_sharded.js b/jstests/sharding/update_sharded.js
index 95916062f0c..0742356c75f 100644
--- a/jstests/sharding/update_sharded.js
+++ b/jstests/sharding/update_sharded.js
@@ -2,7 +2,10 @@
// since shard key is immutable.
//
// Updating a shard key in a single statement may use a multi shard transaction.
-// @tags: [uses_transactions, uses_multi_shard_transaction, requires_fcv_44]
+// @tags: [
+// uses_multi_shard_transaction,
+// uses_transactions,
+// ]
(function() {
const s = new ShardingTest({name: "auto1", shards: 2, mongos: 1});
diff --git a/jstests/sharding/upsert_sharded.js b/jstests/sharding/upsert_sharded.js
index 9e1ee8047e6..424cb9790e2 100644
--- a/jstests/sharding/upsert_sharded.js
+++ b/jstests/sharding/upsert_sharded.js
@@ -2,7 +2,6 @@
// Upsert behavior tests for sharding
// NOTE: Generic upsert behavior tests belong in the core suite
//
-// @tags: [requires_fcv_44]
(function() {
'use strict';
diff --git a/jstests/sharding/validate_commands_wc.js b/jstests/sharding/validate_commands_wc.js
index 2fbc2ed9171..29482efcb6a 100644
--- a/jstests/sharding/validate_commands_wc.js
+++ b/jstests/sharding/validate_commands_wc.js
@@ -1,7 +1,5 @@
/**
* Tests whether mongos correctly validates write concerns.
- *
- * @tags: [requires_fcv_44]
*/
(function() {
'use strict';
diff --git a/jstests/sharding/warm_up_connection_pool.js b/jstests/sharding/warm_up_connection_pool.js
index 6c2c25bedf4..bd00206cdd0 100644
--- a/jstests/sharding/warm_up_connection_pool.js
+++ b/jstests/sharding/warm_up_connection_pool.js
@@ -1,5 +1,7 @@
-/*
- * @tags: [requires_fcv_44, multiversion_incompatible]
+/**
+ * @tags: [
+ * multiversion_incompatible,
+ * ]
*/
// Checking UUID and index consistency involves talking to a shard node, which in this