diff options
56 files changed, 162 insertions, 499 deletions
diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml index b7ac2d927d0..5ec262c04ea 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml @@ -13,88 +13,9 @@ selector: roots: - jstests/core/**/*.js exclude_files: - # - # Denylists from tenant_migration_jscore_passthrough.yml - # - - jstests/core/txns/**/*.js # Skip any tests that run with auth explicitly. - jstests/core/*[aA]uth*.js - # Commands using UUIDs are not compatible with name-based auth. - - jstests/core/commands_with_uuid.js - # These tests depend on hardcoded database name equality. - - jstests/core/json_schema/misc_validation.js - - jstests/core/list_databases.js - - jstests/core/profile1.js - - jstests/core/profile3.js - - jstests/core/views/views_stats.js - # These tests contain assertions on the number of executed operations and this suite retries - # operations on TenantMigrationAborted errors. - - jstests/core/find_and_modify_metrics.js - - jstests/core/update_metrics.js - - jstests/core/operation_latency_histogram.js - - jstests/core/top.js - - jstests/core/profile_sampling.js - - jstests/core/profile_hide_index.js - # The override cannot deep copy very large or small dates. - - jstests/core/index_large_and_small_dates.js - # This test expects that the connection (i.e. 'threadName') does not change throughout each test - # case. That is not always true when there is a background tenant migration. - - jstests/core/failcommand_failpoint.js - # The set_param1.js test attempts to compare the response from running the {getParameter: "*"} - # command multiple times, which may observe the change to the failpoint enabled by the migration - # hook. - - jstests/core/set_param1.js - # This test does not support tojson of command objects so the override cannot deep copy the - # command objects correctly. - - jstests/core/SERVER-23626.js - # These tests write with {w: 0} which doesn't wait for the storage transaction writing the - # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. - - jstests/core/batch_write_command_w0.js - - jstests/core/crud_api.js - # These tests use benchRun which does not use runCommand. - - jstests/core/bench_test1.js - - jstests/core/benchrun_pipeline_updates.js - # This test uses exhaust which does not use runCommand. - - jstests/core/exhaust.js - # These tests use db._authOrThrow which does not use runCommand. - - jstests/core/auth1.js - - jstests/core/connection_status.js - - jstests/core/user_management_helpers.js - # These tests use legacy read mode which does not use runCommand. - - jstests/core/comment_field.js - # This test contains assertions for the hostname that operations run on. - - jstests/core/currentop_cursors.js - # Server parameters are stored in-memory only so are not transferred onto the recipient. These - # tests set the server parameter "notablescan" to force the node to not execute queries that - # require a collection scan and return an error. - - jstests/core/notablescan.js - - jstests/core/notablescan_capped.js - # These tests run applyOps which is not supported in serverless. - - jstests/core/apply_ops1.js - - jstests/core/apply_ops1.js - - jstests/core/apply_ops2.js - - jstests/core/apply_ops_dups.js - - jstests/core/apply_ops_index_collation.js - - jstests/core/apply_ops_invalid_index_spec.js - - jstests/core/apply_ops_missing_field.js - - jstests/core/apply_ops_system_dot_views.js - - jstests/core/apply_ops_without_ns.js - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/collmod_without_uuid.js - - jstests/core/txns/commands_banning_txnnumber_outside_transactions.js - - jstests/core/txns/commands_not_allowed_in_txn.js - - jstests/core/txns/prepare_transaction_fails_on_temp_collections.js - - jstests/core/txns/statement_ids_accepted.js - - jstests/core/list_collections1.js - - jstests/core/list_collections_filter.js - - jstests/core/list_collections_no_views.js - - jstests/core/views/view_with_invalid_dbname.js - - jstests/core/views/views_creation.js - - jstests/core/views/invalid_system_views.js - - jstests/core/views/views_all_commands.js - - jstests/core/rename_collection_staytemp.js # # Denylists from causally_consistent_jscore_passthrough.yml diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml index 1a069338521..49a93b9efd8 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml @@ -16,84 +16,6 @@ selector: - jstests/core/txns/**/*.js # Skip any tests that run with auth explicitly. - jstests/core/*[aA]uth*.js - # Commands using UUIDs are not compatible with name-based auth. - - jstests/core/commands_with_uuid.js - # These tests depend on hardcoded database name equality. - - jstests/core/json_schema/misc_validation.js - - jstests/core/list_databases.js - - jstests/core/profile1.js - - jstests/core/profile3.js - - jstests/core/views/views_stats.js - # These tests contain assertions on the number of executed operations and this suite retries - # operations on TenantMigrationAborted errors. - - jstests/core/find_and_modify_metrics.js - - jstests/core/update_metrics.js - - jstests/core/operation_latency_histogram.js - - jstests/core/top.js - - jstests/core/profile_sampling.js - - jstests/core/profile_hide_index.js - - jstests/core/index_stats.js - # The override cannot deep copy very large or small dates. - - jstests/core/index_large_and_small_dates.js - # This test expects that the connection (i.e. 'threadName') does not change throughout each test - # case. That is not always true when there is a background tenant migration. - - jstests/core/failcommand_failpoint.js - # The set_param1.js test attempts to compare the response from running the {getParameter: "*"} - # command multiple times, which may observe the change to the failpoint enabled by the migration - # hook. - - jstests/core/set_param1.js - # This test does not support tojson of command objects so the override cannot deep copy the - # command objects correctly. - - jstests/core/SERVER-23626.js - # These tests write with {w: 0} which doesn't wait for the storage transaction writing the - # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. - - jstests/core/batch_write_command_w0.js - - jstests/core/crud_api.js - # These tests use benchRun which does not use runCommand. - - jstests/core/bench_test1.js - - jstests/core/benchrun_pipeline_updates.js - # This test uses exhaust which does not use runCommand. - - jstests/core/exhaust.js - # These tests use db._authOrThrow which does not use runCommand. - - jstests/core/auth1.js - - jstests/core/connection_status.js - - jstests/core/user_management_helpers.js - # These tests use legacy read mode which does not use runCommand. - - jstests/core/comment_field.js - # These tests run applyOps which is not supported in serverless. - - jstests/core/apply_ops1.js - - jstests/core/apply_ops1.js - - jstests/core/apply_ops2.js - - jstests/core/apply_ops_dups.js - - jstests/core/apply_ops_index_collation.js - - jstests/core/apply_ops_invalid_index_spec.js - - jstests/core/apply_ops_missing_field.js - - jstests/core/apply_ops_system_dot_views.js - - jstests/core/apply_ops_without_ns.js - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/collmod_without_uuid.js - - jstests/core/txns/commands_banning_txnnumber_outside_transactions.js - - jstests/core/txns/commands_not_allowed_in_txn.js - - jstests/core/txns/prepare_transaction_fails_on_temp_collections.js - - jstests/core/txns/statement_ids_accepted.js - - jstests/core/list_collections1.js - - jstests/core/list_collections_filter.js - - jstests/core/list_collections_no_views.js - - jstests/core/views/view_with_invalid_dbname.js - - jstests/core/views/views_creation.js - - jstests/core/views/invalid_system_views.js - - jstests/core/views/views_all_commands.js - - jstests/core/rename_collection_staytemp.js - # This test contains assertions for the hostname that operations run on. - - jstests/core/currentop_cursors.js - # Server parameters are stored in-memory only so are not transferred onto the recipient. These - # tests set the server parameter "notablescan" to force the node to not execute queries that - # require a collection scan and return an error. - - jstests/core/notablescan.js - - jstests/core/notablescan_capped.js - # Causes CappedPositionLost on recipient, which is not recoverable. - - jstests/core/rename_collection_capped.js exclude_with_any_tags: - assumes_standalone_mongod diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml index caecd8714ba..36433f7ceca 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml @@ -19,86 +19,10 @@ selector: - jstests/core/txns/**/*.js # Skip any tests that run with auth explicitly. - jstests/core/*[aA]uth*.js - # Commands using UUIDs are not compatible with name-based auth. - - jstests/core/commands_with_uuid.js - # These tests depend on hardcoded database name equality. - - jstests/core/json_schema/misc_validation.js - - jstests/core/list_databases.js - - jstests/core/profile1.js - - jstests/core/profile3.js - - jstests/core/views/views_stats.js - # These tests contain assertions on the number of executed operations and this suite retries - # operations on TenantMigrationAborted errors. - - jstests/core/find_and_modify_metrics.js - - jstests/core/update_metrics.js - - jstests/core/operation_latency_histogram.js - - jstests/core/top.js - - jstests/core/profile_sampling.js - - jstests/core/profile_hide_index.js - # The override cannot deep copy very large or small dates. - - jstests/core/index_large_and_small_dates.js - # This test expects that the connection (i.e. 'threadName') does not change throughout each test - # case. That is not always true when there is a background tenant migration. - - jstests/core/failcommand_failpoint.js - # The set_param1.js test attempts to compare the response from running the {getParameter: "*"} - # command multiple times, which may observe the change to the failpoint enabled by the migration - # hook. - - jstests/core/set_param1.js - # This test does not support tojson of command objects so the override cannot deep copy the - # command objects correctly. - - jstests/core/SERVER-23626.js - # These tests write with {w: 0} which doesn't wait for the storage transaction writing the - # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. - - jstests/core/batch_write_command_w0.js - - jstests/core/crud_api.js - # These tests use benchRun which does not use runCommand. - - jstests/core/bench_test1.js - - jstests/core/benchrun_pipeline_updates.js - # This test uses exhaust which does not use runCommand. - - jstests/core/exhaust.js - # These tests use db._authOrThrow which does not use runCommand. - - jstests/core/auth1.js - - jstests/core/connection_status.js - - jstests/core/user_management_helpers.js - # These tests use legacy read mode which does not use runCommand. - - jstests/core/comment_field.js - # This test contains assertions for the hostname that operations run on. - - jstests/core/currentop_cursors.js - # Server parameters are stored in-memory only so are not transferred onto the recipient. These - # tests set the server parameter "notablescan" to force the node to not execute queries that - # require a collection scan and return an error. - - jstests/core/notablescan.js - - jstests/core/notablescan_capped.js - # These tests run applyOps which is not supported in serverless. - - jstests/core/apply_ops1.js - - jstests/core/apply_ops1.js - - jstests/core/apply_ops2.js - - jstests/core/apply_ops_dups.js - - jstests/core/apply_ops_index_collation.js - - jstests/core/apply_ops_invalid_index_spec.js - - jstests/core/apply_ops_missing_field.js - - jstests/core/apply_ops_system_dot_views.js - - jstests/core/apply_ops_without_ns.js - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/collmod_without_uuid.js - - jstests/core/txns/commands_banning_txnnumber_outside_transactions.js - - jstests/core/txns/commands_not_allowed_in_txn.js - - jstests/core/txns/prepare_transaction_fails_on_temp_collections.js - - jstests/core/txns/statement_ids_accepted.js - - jstests/core/list_collections1.js - - jstests/core/list_collections_filter.js - - jstests/core/list_collections_no_views.js - - jstests/core/views/view_with_invalid_dbname.js - - jstests/core/views/views_creation.js - - jstests/core/views/invalid_system_views.js - - jstests/core/views/views_all_commands.js - - jstests/core/rename_collection_staytemp.js + # This test runs createIndexes commands without asserting they succeed and depends on a particular # index to exist. - jstests/core/index_many2.js - # Causes CappedPositionLost on recipient, which is not recoverable. - - jstests/core/rename_collection_capped.js # # From retryable writes jscore stepdown passthrough diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml index 5f328625233..0085e86a03d 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml @@ -25,106 +25,6 @@ selector: - jstests/core/txns/**/*.js # Skip any tests that run with auth explicitly. - jstests/core/*[aA]uth*.js - # These tests depend on hardcoded database name equality. - - jstests/core/json_schema/misc_validation.js - - jstests/core/list_databases.js - - jstests/core/profile1.js - - jstests/core/profile3.js - - jstests/core/views/views_stats.js - # These tests contain assertions on the number of executed operations and this suite retries - # operations on TenantMigrationAborted errors. - - jstests/core/find_and_modify_metrics.js - - jstests/core/update_metrics.js - - jstests/core/operation_latency_histogram.js - - jstests/core/top.js - - jstests/core/profile_sampling.js - - jstests/core/profile_hide_index.js - # The override cannot deep copy very large or small dates. - - jstests/core/index_large_and_small_dates.js - # This test expects that the connection (i.e. 'threadName') does not change throughout each test - # case. That is not always true when there is a background tenant migration. - - jstests/core/failcommand_failpoint.js - # The set_param1.js test attempts to compare the response from running the {getParameter: "*"} - # command multiple times, which may observe the change to the failpoint enabled by the migration - # hook. - - jstests/core/set_param1.js - # This test does not support tojson of command objects so the override cannot deep copy the - # command objects correctly. - - jstests/core/SERVER-23626.js - # These tests write with {w: 0} which doesn't wait for the storage transaction writing the - # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. - - jstests/core/batch_write_command_w0.js - - jstests/core/crud_api.js - # These tests use benchRun which does not use runCommand. - - jstests/core/bench_test1.js - - jstests/core/benchrun_pipeline_updates.js - # This test uses exhaust which does not use runCommand. - - jstests/core/exhaust.js - # These tests use db._authOrThrow which does not use runCommand. - - jstests/core/auth1.js - - jstests/core/connection_status.js - - jstests/core/user_management_helpers.js - # These tests use legacy read mode which does not use runCommand. - - jstests/core/comment_field.js - # This test contains assertions for the hostname that operations run on. - - jstests/core/currentop_cursors.js - # Server parameters are stored in-memory only so are not transferred onto the recipient. These - # tests set the server parameter "notablescan" to force the node to not execute queries that - # require a collection scan and return an error. - - jstests/core/notablescan.js - - jstests/core/notablescan_capped.js - # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js. - - jstests/core/batch_write_collation_estsize.js - - jstests/core/bulk_api_ordered.js - - jstests/core/bulk_api_unordered.js - - jstests/core/fts_querylang.js - - jstests/core/idhack.js - - jstests/core/role_management_helpers.js - - jstests/core/roles_info.js - - jstests/core/server1470.js - - jstests/core/update_arrayFilters.js - - jstests/core/update_arraymatch2.js - - jstests/core/update_arraymatch3.js - - jstests/core/update_arraymatch5.js - - jstests/core/update_hint.js - - jstests/core/update_multi3.js - - jstests/core/update_multi4.js - - jstests/core/update_multi5.js - - jstests/core/update_pipeline_shell_helpers.js - - jstests/core/update_with_pipeline.js - - jstests/core/update7.js - - jstests/core/updatei.js - - jstests/core/updatej.js - - jstests/core/updatel.js - - jstests/core/where_system_js.js - - jstests/core/write_result.js - # These tests run applyOps which is not supported in serverless. - - jstests/core/apply_ops1.js - - jstests/core/apply_ops1.js - - jstests/core/apply_ops2.js - - jstests/core/apply_ops_dups.js - - jstests/core/apply_ops_index_collation.js - - jstests/core/apply_ops_invalid_index_spec.js - - jstests/core/apply_ops_missing_field.js - - jstests/core/apply_ops_system_dot_views.js - - jstests/core/apply_ops_without_ns.js - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/collmod_without_uuid.js - - jstests/core/txns/commands_banning_txnnumber_outside_transactions.js - - jstests/core/txns/commands_not_allowed_in_txn.js - - jstests/core/txns/prepare_transaction_fails_on_temp_collections.js - - jstests/core/txns/statement_ids_accepted.js - - jstests/core/list_collections1.js - - jstests/core/list_collections_filter.js - - jstests/core/list_collections_no_views.js - - jstests/core/views/view_with_invalid_dbname.js - - jstests/core/views/views_creation.js - - jstests/core/views/invalid_system_views.js - - jstests/core/views/views_all_commands.js - - jstests/core/rename_collection_staytemp.js - # Causes CappedPositionLost on recipient, which is not recoverable. - - jstests/core/rename_collection_capped.js # # Excluded from replica_sets_multi_stmt_txn_jscore_passthrough.yml @@ -350,6 +250,8 @@ selector: # Full validation can cause ongoing queries to fail. This can affect the tenant migration # process. - uses_full_validation + # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js. + - requires_multi_update executor: archive: diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml index 55d659f2ece..fc02fb23677 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml @@ -19,81 +19,7 @@ selector: - jstests/core/txns/**/*.js # Skip any tests that run with auth explicitly. - jstests/core/*[aA]uth*.js - # Commands using UUIDs are not compatible with name-based auth. - - jstests/core/commands_with_uuid.js - # These tests depend on hardcoded database name equality. - - jstests/core/json_schema/misc_validation.js - - jstests/core/list_databases.js - - jstests/core/profile1.js - - jstests/core/profile3.js - - jstests/core/views/views_stats.js - # These tests contain assertions on the number of executed operations and this suite retries - # operations on TenantMigrationAborted errors. - - jstests/core/find_and_modify_metrics.js - - jstests/core/update_metrics.js - - jstests/core/operation_latency_histogram.js - - jstests/core/top.js - - jstests/core/profile_sampling.js - - jstests/core/profile_hide_index.js - # The override cannot deep copy very large or small dates. - - jstests/core/index_large_and_small_dates.js - # This test expects that the connection (i.e. 'threadName') does not change throughout each test - # case. That is not always true when there is a background tenant migration. - - jstests/core/failcommand_failpoint.js - # The set_param1.js test attempts to compare the response from running the {getParameter: "*"} - # command multiple times, which may observe the change to the failpoint enabled by the migration - # hook. - - jstests/core/set_param1.js - # This test does not support tojson of command objects so the override cannot deep copy the - # command objects correctly. - - jstests/core/SERVER-23626.js - # These tests write with {w: 0} which doesn't wait for the storage transaction writing the - # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. - - jstests/core/batch_write_command_w0.js - - jstests/core/crud_api.js - # These tests use benchRun which does not use runCommand. - - jstests/core/bench_test1.js - - jstests/core/benchrun_pipeline_updates.js - # This test uses exhaust which does not use runCommand. - - jstests/core/exhaust.js - # These tests use db._authOrThrow which does not use runCommand. - - jstests/core/auth1.js - - jstests/core/connection_status.js - - jstests/core/user_management_helpers.js - # These tests use legacy read mode which does not use runCommand. - - jstests/core/comment_field.js - # This test contains assertions for the hostname that operations run on. - - jstests/core/currentop_cursors.js - # Server parameters are stored in-memory only so are not transferred onto the recipient. These - # tests set the server parameter "notablescan" to force the node to not execute queries that - # require a collection scan and return an error. - - jstests/core/notablescan.js - - jstests/core/notablescan_capped.js - # These tests run applyOps which is not supported in serverless. - - jstests/core/apply_ops1.js - - jstests/core/apply_ops1.js - - jstests/core/apply_ops2.js - - jstests/core/apply_ops_dups.js - - jstests/core/apply_ops_index_collation.js - - jstests/core/apply_ops_invalid_index_spec.js - - jstests/core/apply_ops_missing_field.js - - jstests/core/apply_ops_system_dot_views.js - - jstests/core/apply_ops_without_ns.js - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/collmod_without_uuid.js - - jstests/core/txns/commands_banning_txnnumber_outside_transactions.js - - jstests/core/txns/commands_not_allowed_in_txn.js - - jstests/core/txns/prepare_transaction_fails_on_temp_collections.js - - jstests/core/txns/statement_ids_accepted.js - - jstests/core/list_collections1.js - - jstests/core/list_collections_filter.js - - jstests/core/list_collections_no_views.js - - jstests/core/views/view_with_invalid_dbname.js - - jstests/core/views/views_creation.js - - jstests/core/views/invalid_system_views.js - - jstests/core/views/views_all_commands.js - - jstests/core/rename_collection_staytemp.js + # This test runs createIndexes commands without asserting they succeed and depends on a particular # index to exist. - jstests/core/index_many2.js diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml index 0ee5aec3336..94d46e70994 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml @@ -19,81 +19,7 @@ selector: - jstests/core/txns/**/*.js # Skip any tests that run with auth explicitly. - jstests/core/*[aA]uth*.js - # Commands using UUIDs are not compatible with name-based auth. - - jstests/core/commands_with_uuid.js - # These tests depend on hardcoded database name equality. - - jstests/core/json_schema/misc_validation.js - - jstests/core/list_databases.js - - jstests/core/profile1.js - - jstests/core/profile3.js - - jstests/core/views/views_stats.js - # These tests contain assertions on the number of executed operations and this suite retries - # operations on TenantMigrationAborted errors. - - jstests/core/find_and_modify_metrics.js - - jstests/core/update_metrics.js - - jstests/core/operation_latency_histogram.js - - jstests/core/top.js - - jstests/core/profile_sampling.js - - jstests/core/profile_hide_index.js - # The override cannot deep copy very large or small dates. - - jstests/core/index_large_and_small_dates.js - # This test expects that the connection (i.e. 'threadName') does not change throughout each test - # case. That is not always true when there is a background tenant migration. - - jstests/core/failcommand_failpoint.js - # The set_param1.js test attempts to compare the response from running the {getParameter: "*"} - # command multiple times, which may observe the change to the failpoint enabled by the migration - # hook. - - jstests/core/set_param1.js - # This test does not support tojson of command objects so the override cannot deep copy the - # command objects correctly. - - jstests/core/SERVER-23626.js - # These tests write with {w: 0} which doesn't wait for the storage transaction writing the - # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. - - jstests/core/batch_write_command_w0.js - - jstests/core/crud_api.js - # These tests use benchRun which does not use runCommand. - - jstests/core/bench_test1.js - - jstests/core/benchrun_pipeline_updates.js - # This test uses exhaust which does not use runCommand. - - jstests/core/exhaust.js - # These tests use db._authOrThrow which does not use runCommand. - - jstests/core/auth1.js - - jstests/core/connection_status.js - - jstests/core/user_management_helpers.js - # These tests use legacy read mode which does not use runCommand. - - jstests/core/comment_field.js - # This test contains assertions for the hostname that operations run on. - - jstests/core/currentop_cursors.js - # Server parameters are stored in-memory only so are not transferred onto the recipient. These - # tests set the server parameter "notablescan" to force the node to not execute queries that - # require a collection scan and return an error. - - jstests/core/notablescan.js - - jstests/core/notablescan_capped.js - # These tests run applyOps which is not supported in serverless. - - jstests/core/apply_ops1.js - - jstests/core/apply_ops1.js - - jstests/core/apply_ops2.js - - jstests/core/apply_ops_dups.js - - jstests/core/apply_ops_index_collation.js - - jstests/core/apply_ops_invalid_index_spec.js - - jstests/core/apply_ops_missing_field.js - - jstests/core/apply_ops_system_dot_views.js - - jstests/core/apply_ops_without_ns.js - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/collmod_without_uuid.js - - jstests/core/txns/commands_banning_txnnumber_outside_transactions.js - - jstests/core/txns/commands_not_allowed_in_txn.js - - jstests/core/txns/prepare_transaction_fails_on_temp_collections.js - - jstests/core/txns/statement_ids_accepted.js - - jstests/core/list_collections1.js - - jstests/core/list_collections_filter.js - - jstests/core/list_collections_no_views.js - - jstests/core/views/view_with_invalid_dbname.js - - jstests/core/views/views_creation.js - - jstests/core/views/invalid_system_views.js - - jstests/core/views/views_all_commands.js - - jstests/core/rename_collection_staytemp.js + # This test runs createIndexes commands without asserting they succeed and depends on a particular # index to exist. - jstests/core/index_many2.js diff --git a/jstests/core/SERVER-23626.js b/jstests/core/SERVER-23626.js index 31f963bd313..1925cad4c25 100644 --- a/jstests/core/SERVER-23626.js +++ b/jstests/core/SERVER-23626.js @@ -1,3 +1,9 @@ +// @tags: [ +// # This test does not support tojson of command objects so the inject_tenant_prefix.js override +// # cannot deep copy the command objects correctly. +// tenant_migration_incompatible, +// ] + (function() { "use strict"; @@ -14,4 +20,4 @@ assert.eq(1, t.mycoll.find({a: {$type: 'javascript'}}).itcount()); t.mycoll.drop(); assert.commandWorked(t.mycoll.insert({_id: 0, a: RegExp.prototype})); assert.eq(1, t.mycoll.find({a: {$type: 'regex'}}).itcount()); -}());
\ No newline at end of file +}()); diff --git a/jstests/core/apply_ops1.js b/jstests/core/apply_ops1.js index 86754d7b9ba..9ed93a96fb8 100644 --- a/jstests/core/apply_ops1.js +++ b/jstests/core/apply_ops1.js @@ -7,7 +7,8 @@ * assumes_against_mongod_not_mongos, * # applyOps uses the oplog that require replication support * requires_replication, - * # Uses $v: 2 update oplog entries, only available in 4.7+. + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/apply_ops2.js b/jstests/core/apply_ops2.js index f4444bfdc16..379c1d0744e 100644 --- a/jstests/core/apply_ops2.js +++ b/jstests/core/apply_ops2.js @@ -8,6 +8,8 @@ * assumes_against_mongod_not_mongos, * # applyOps uses the oplog that require replication support * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/apply_ops_dups.js b/jstests/core/apply_ops_dups.js index d63f5c683c1..268482e3251 100644 --- a/jstests/core/apply_ops_dups.js +++ b/jstests/core/apply_ops_dups.js @@ -6,6 +6,8 @@ * assumes_against_mongod_not_mongos, * # applyOps uses the oplog that require replication support * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/apply_ops_index_collation.js b/jstests/core/apply_ops_index_collation.js index a969e55bed9..3dda7f147d7 100644 --- a/jstests/core/apply_ops_index_collation.js +++ b/jstests/core/apply_ops_index_collation.js @@ -12,6 +12,8 @@ * assumes_against_mongod_not_mongos, * # applyOps uses the oplog that require replication support * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/apply_ops_invalid_index_spec.js b/jstests/core/apply_ops_invalid_index_spec.js index 387e41890ac..f24f0dfe47f 100644 --- a/jstests/core/apply_ops_invalid_index_spec.js +++ b/jstests/core/apply_ops_invalid_index_spec.js @@ -12,6 +12,8 @@ * assumes_against_mongod_not_mongos, * # applyOps uses the oplog which requires replication support. * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/apply_ops_missing_field.js b/jstests/core/apply_ops_missing_field.js index b088cbc3308..7d397ef16d8 100644 --- a/jstests/core/apply_ops_missing_field.js +++ b/jstests/core/apply_ops_missing_field.js @@ -15,6 +15,8 @@ * assumes_against_mongod_not_mongos, * # applyOps uses the oplog which requires replication support. * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/apply_ops_system_dot_views.js b/jstests/core/apply_ops_system_dot_views.js index 8d0e390d078..1dbbee484ba 100644 --- a/jstests/core/apply_ops_system_dot_views.js +++ b/jstests/core/apply_ops_system_dot_views.js @@ -7,6 +7,8 @@ * requires_non_retryable_commands, * # applyOps uses the oplog that require replication support * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/apply_ops_without_ns.js b/jstests/core/apply_ops_without_ns.js index 0454f97645b..1d1395ff001 100644 --- a/jstests/core/apply_ops_without_ns.js +++ b/jstests/core/apply_ops_without_ns.js @@ -5,6 +5,8 @@ * assumes_against_mongod_not_mongos, * # applyOps uses the oplog that require replication support * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/auth1.js b/jstests/core/auth1.js index a71f35fb747..44b078eea54 100644 --- a/jstests/core/auth1.js +++ b/jstests/core/auth1.js @@ -4,6 +4,9 @@ // creates_and_authenticates_user, // requires_auth, // requires_non_retryable_commands, +// # This test uses db._authOrThrow which does not use runCommand (required by the +// # inject_tenant_prefix.js override). +// tenant_migration_incompatible, // ] var mydb = db.getSiblingDB('auth1_db'); diff --git a/jstests/core/batch_write_command_w0.js b/jstests/core/batch_write_command_w0.js index 4869e228919..7d5038120b6 100644 --- a/jstests/core/batch_write_command_w0.js +++ b/jstests/core/batch_write_command_w0.js @@ -9,6 +9,9 @@ * assumes_unsharded_collection, * assumes_write_concern_unchanged, * requires_non_retryable_writes, + * # This test writes with {w: 0} which doesn't wait for the storage transaction writing the + * # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/bench_test1.js b/jstests/core/bench_test1.js index 9defe88749e..a6f7eaadf27 100644 --- a/jstests/core/bench_test1.js +++ b/jstests/core/bench_test1.js @@ -3,6 +3,9 @@ // @tags: [ // assumes_no_implicit_index_creation, // uses_multiple_connections, +// # This test uses benchRun which does not use runCommand (required by the +// # inject_tenant_prefix.js override). +// tenant_migration_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/benchrun_pipeline_updates.js b/jstests/core/benchrun_pipeline_updates.js index bf14e51e5ad..ef6fe446b6b 100644 --- a/jstests/core/benchrun_pipeline_updates.js +++ b/jstests/core/benchrun_pipeline_updates.js @@ -1,7 +1,12 @@ /** * Tests that benchRun can understand pipeline-style updates and findAndModifys. * - * @tags: [uses_multiple_connections] + * @tags: [ + * uses_multiple_connections, + * # This test uses exhaust which does not use runCommand (required by the + * # inject_tenant_prefix.js override). + * tenant_migration_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/bypass_doc_validation.js b/jstests/core/bypass_doc_validation.js index 9222611a423..d290508835a 100644 --- a/jstests/core/bypass_doc_validation.js +++ b/jstests/core/bypass_doc_validation.js @@ -4,6 +4,8 @@ // requires_fastcount, // requires_non_retryable_commands, // uses_map_reduce_with_temp_collections, +// # Tenant migrations don't support applyOps. +// tenant_migration_incompatible, // ] /** diff --git a/jstests/core/collation.js b/jstests/core/collation.js index 006dcc751b2..6a7ff93c9c7 100644 --- a/jstests/core/collation.js +++ b/jstests/core/collation.js @@ -6,6 +6,8 @@ // requires_capped, // requires_non_retryable_commands, // requires_non_retryable_writes, +// # Tenant migrations don't support applyOps. +// tenant_migration_incompatible, // ] // Integration tests for the collation feature. diff --git a/jstests/core/collmod_without_uuid.js b/jstests/core/collmod_without_uuid.js index f0fa59caf2f..68c50046a9a 100644 --- a/jstests/core/collmod_without_uuid.js +++ b/jstests/core/collmod_without_uuid.js @@ -6,7 +6,9 @@ * # applyOps is not supported on mongos * assumes_against_mongod_not_mongos, * # applyOps uses the oplog that require replication support - * requires_replication + * requires_replication, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/commands_with_uuid.js b/jstests/core/commands_with_uuid.js index 0d0657a6433..d1a6c772ec0 100644 --- a/jstests/core/commands_with_uuid.js +++ b/jstests/core/commands_with_uuid.js @@ -5,6 +5,8 @@ * @tags: [ * incompatible_with_embedded, * requires_fastcount, + * # Commands using UUIDs are not compatible with name-based auth. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/comment_field.js b/jstests/core/comment_field.js index ab9f3dbc264..b7c226090e4 100644 --- a/jstests/core/comment_field.js +++ b/jstests/core/comment_field.js @@ -10,6 +10,9 @@ * requires_profiling, * uses_parallel_shell, * no_selinux, + * # This test uses legacy read mode which does not use runCommand (required by the + * # inject_tenant_prefix.js override). + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/connection_status.js b/jstests/core/connection_status.js index 560a789dfd9..59115a4c5ca 100644 --- a/jstests/core/connection_status.js +++ b/jstests/core/connection_status.js @@ -5,6 +5,9 @@ // no_selinux, // requires_auth, // requires_non_retryable_commands, +// # This test uses db._authOrThrow which does not use runCommand (required by the +// # inject_tenant_prefix.js override). +// tenant_migration_incompatible, // ] // Tests the connectionStatus command diff --git a/jstests/core/crud_api.js b/jstests/core/crud_api.js index e4610d74405..1f4ca21aac5 100644 --- a/jstests/core/crud_api.js +++ b/jstests/core/crud_api.js @@ -6,6 +6,9 @@ // assumes_unsharded_collection, // assumes_write_concern_unchanged, // requires_fastcount, +// # This test writes with {w: 0} which doesn't wait for the storage transaction writing the +// # document and the oplog entry to commit so the TenantMigrationConflict will not be caught. +// tenant_migration_incompatible, // ] (function() { diff --git a/jstests/core/currentop_cursors.js b/jstests/core/currentop_cursors.js index fdace3ad3b6..65baff3363f 100644 --- a/jstests/core/currentop_cursors.js +++ b/jstests/core/currentop_cursors.js @@ -7,6 +7,8 @@ * assumes_read_preference_unchanged, * requires_capped, * no_selinux, + * # This test contains assertions for the hostname that operations run on. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/exhaust.js b/jstests/core/exhaust.js index bc1ce387157..197b99fcaee 100644 --- a/jstests/core/exhaust.js +++ b/jstests/core/exhaust.js @@ -1,4 +1,9 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// # This test uses exhaust which does not use runCommand (required by the inject_tenant_prefix.js +// # override). +// tenant_migration_incompatible, +// ] (function() { 'use strict'; diff --git a/jstests/core/failcommand_failpoint.js b/jstests/core/failcommand_failpoint.js index eaba7de005a..8520f4600c2 100644 --- a/jstests/core/failcommand_failpoint.js +++ b/jstests/core/failcommand_failpoint.js @@ -4,6 +4,9 @@ * assumes_read_concern_unchanged, * assumes_read_preference_unchanged, * no_selinux, + * # This test expects that the connection (i.e. 'threadName') does not change throughout each + * # test case. That is not always true when there is a background tenant migration. + * tenant_migration_incompatible, * ] */ (function() { diff --git a/jstests/core/find_and_modify_metrics.js b/jstests/core/find_and_modify_metrics.js index a2a8bfbc9d1..37ba521ef73 100644 --- a/jstests/core/find_and_modify_metrics.js +++ b/jstests/core/find_and_modify_metrics.js @@ -3,10 +3,13 @@ * counters of the findAndModify command. * * @tags: [ - * # The test relies on the precise number of executions of commands. - * requires_non_retryable_writes, - * # The test is designed to work with an unsharded collection. - * assumes_unsharded_collection, + * # The test relies on the precise number of executions of commands. + * requires_non_retryable_writes, + * # The test is designed to work with an unsharded collection. + * assumes_unsharded_collection, + * # This test contains assertions on the number of executed operations, and tenant migrations + * # passthrough suites automatically retry operations on TenantMigrationAborted errors. + * tenant_migration_incompatible, * ] */ (function() { diff --git a/jstests/core/index_large_and_small_dates.js b/jstests/core/index_large_and_small_dates.js index b64cc83860d..5a89720c1b9 100644 --- a/jstests/core/index_large_and_small_dates.js +++ b/jstests/core/index_large_and_small_dates.js @@ -1,3 +1,8 @@ +// @tags: [ +// # The tenant migration override cannot deep copy very large or small dates. +// tenant_migration_incompatible, +// ] + (function() { "use strict"; const coll = db.index_dates; diff --git a/jstests/core/index_stats.js b/jstests/core/index_stats.js index 70718c6f4d9..43df9a63ed1 100644 --- a/jstests/core/index_stats.js +++ b/jstests/core/index_stats.js @@ -9,6 +9,9 @@ // assumes_unsharded_collection, // does_not_support_stepdowns, // requires_non_retryable_writes, +// # Tenant migrations passthrough suites automatically retry operations on TenantMigrationAborted +// # errors. +// tenant_migration_incompatible, // ] (function() { diff --git a/jstests/core/json_schema/misc_validation.js b/jstests/core/json_schema/misc_validation.js index bdb9d55aa9b..58e76fc0d68 100644 --- a/jstests/core/json_schema/misc_validation.js +++ b/jstests/core/json_schema/misc_validation.js @@ -17,6 +17,8 @@ * requires_non_retryable_commands, * requires_non_retryable_writes, * requires_replication, + * # This test depends on hardcoded database name equality. + * tenant_migration_incompatible, * ] */ (function() { diff --git a/jstests/core/list_collections1.js b/jstests/core/list_collections1.js index 3757d061276..7526573be3f 100644 --- a/jstests/core/list_collections1.js +++ b/jstests/core/list_collections1.js @@ -10,6 +10,8 @@ * requires_getmore, * requires_replication, * uses_api_parameters, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] * * Note that storage engines used to be allowed to advertise internal collections to the user (in diff --git a/jstests/core/list_collections_filter.js b/jstests/core/list_collections_filter.js index 0fc2bab52f8..50c4aa93dfe 100644 --- a/jstests/core/list_collections_filter.js +++ b/jstests/core/list_collections_filter.js @@ -5,6 +5,8 @@ * requires_replication, * # applyOps is not supported on mongos * assumes_against_mongod_not_mongos, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/list_databases.js b/jstests/core/list_databases.js index 93e2bf8273d..fad0bec2e54 100644 --- a/jstests/core/list_databases.js +++ b/jstests/core/list_databases.js @@ -1,5 +1,10 @@ /** * Tests for the listDatabases command. + * + * @tags: [ + * # This test depends on hardcoded database name equality. + * tenant_migration_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/notablescan.js b/jstests/core/notablescan.js index 5c0ae0150e8..baef5d56ae6 100644 --- a/jstests/core/notablescan.js +++ b/jstests/core/notablescan.js @@ -8,6 +8,10 @@ // assumes_read_preference_unchanged, // assumes_superuser_permissions, // does_not_support_stepdowns, +// # Server parameters are stored in-memory only so are not transferred onto the recipient. This +// # test sets the server parameter "notablescan" to force the node to not execute queries that +// # require a collection scan and return an error. +// tenant_migration_incompatible, // ] t = db.test_notablescan; diff --git a/jstests/core/notablescan_capped.js b/jstests/core/notablescan_capped.js index c4b8fb3474e..6ae04f58bb8 100644 --- a/jstests/core/notablescan_capped.js +++ b/jstests/core/notablescan_capped.js @@ -9,6 +9,10 @@ // assumes_superuser_permissions, // does_not_support_stepdowns, // requires_capped, +// # Server parameters are stored in-memory only so are not transferred onto the recipient. This +// # test sets the server parameter "notablescan" to force the node to not execute queries that +// # require a collection scan and return an error. +// tenant_migration_incompatible, // ] t = db.test_notablescan_capped; diff --git a/jstests/core/operation_latency_histogram.js b/jstests/core/operation_latency_histogram.js index 54291da9391..c87d5bfe20b 100644 --- a/jstests/core/operation_latency_histogram.js +++ b/jstests/core/operation_latency_histogram.js @@ -9,6 +9,9 @@ // assumes_read_preference_unchanged, // incompatible_with_embedded, // requires_collstats, +// # Tenant migrations passthrough suites automatically retry operations on TenantMigrationAborted +// # errors. +// tenant_migration_incompatible, // ] // diff --git a/jstests/core/profile1.js b/jstests/core/profile1.js index f22763a0a17..92ac715284c 100644 --- a/jstests/core/profile1.js +++ b/jstests/core/profile1.js @@ -7,6 +7,8 @@ // requires_collstats, // requires_non_retryable_commands, // requires_profiling, +// # This test depends on hardcoded database name equality. +// tenant_migration_incompatible, // ] (function() { diff --git a/jstests/core/profile3.js b/jstests/core/profile3.js index 42614828ac9..ed449963a0f 100644 --- a/jstests/core/profile3.js +++ b/jstests/core/profile3.js @@ -3,6 +3,8 @@ // creates_and_authenticates_user, // no_selinux, // requires_profiling, +// # This test depends on hardcoded database name equality. +// tenant_migration_incompatible, // ] // special db so that it can be run in parallel tests var stddb = db; diff --git a/jstests/core/profile_hide_index.js b/jstests/core/profile_hide_index.js index ba0b4a9f70d..5d8b8043db6 100644 --- a/jstests/core/profile_hide_index.js +++ b/jstests/core/profile_hide_index.js @@ -8,6 +8,9 @@ * requires_profiling, * uses_parallel_shell, * no_selinux, + * # Tenant migrations passthrough suites automatically retry operations on TenantMigrationAborted + * # errors. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/profile_sampling.js b/jstests/core/profile_sampling.js index 42542ab2d64..28ffa378a0b 100644 --- a/jstests/core/profile_sampling.js +++ b/jstests/core/profile_sampling.js @@ -3,6 +3,9 @@ // does_not_support_stepdowns, // requires_fastcount, // requires_profiling, +// # Tenant migrations passthrough suites automatically retry operations on TenantMigrationAborted +// # errors. +// tenant_migration_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/rename_collection_staytemp.js b/jstests/core/rename_collection_staytemp.js index 0fdb6afbafd..594169d65e1 100644 --- a/jstests/core/rename_collection_staytemp.js +++ b/jstests/core/rename_collection_staytemp.js @@ -5,6 +5,8 @@ * # applyOps is not supported on mongos * assumes_unsharded_collection, * assumes_against_mongod_not_mongos, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/set_param1.js b/jstests/core/set_param1.js index 3e4b85180a1..2ef7821b6ae 100644 --- a/jstests/core/set_param1.js +++ b/jstests/core/set_param1.js @@ -1,6 +1,10 @@ // @tags: [ // assumes_superuser_permissions, // does_not_support_stepdowns, +// # This test attempts to compare the response from running the {getParameter: "*"} +// # command multiple times, which may observe the change to the failpoint enabled by the +// # migration hook. +// tenant_migration_incompatible, // ] // Tests for accessing logLevel server parameter using getParameter/setParameter commands diff --git a/jstests/core/top.js b/jstests/core/top.js index 7219192516f..8ac9eac4cd1 100644 --- a/jstests/core/top.js +++ b/jstests/core/top.js @@ -6,11 +6,14 @@ * routed to the primary. * * @tags: [ - * assumes_read_preference_unchanged, - * requires_fastcount, - * - * # top command is not available on embedded - * incompatible_with_embedded] + * assumes_read_preference_unchanged, + * requires_fastcount, + * # top command is not available on embedded + * incompatible_with_embedded, + * # This test contains assertions on the number of executed operations, and tenant migrations + * # passthrough suites automatically retry operations on TenantMigrationAborted errors. + * tenant_migration_incompatible, + * ] */ (function() { diff --git a/jstests/core/txns/commands_banning_txnnumber_outside_transactions.js b/jstests/core/txns/commands_banning_txnnumber_outside_transactions.js index c33cc6df475..38acc6206eb 100644 --- a/jstests/core/txns/commands_banning_txnnumber_outside_transactions.js +++ b/jstests/core/txns/commands_banning_txnnumber_outside_transactions.js @@ -1,7 +1,10 @@ // Test that commands other than retryable writes may not use txnNumber outside transactions. // @tags: [ // uses_map_reduce_with_temp_collections, +// # Tenant migrations don't support applyOps. +// tenant_migration_incompatible, // ] + (function() { "use strict"; diff --git a/jstests/core/txns/commands_not_allowed_in_txn.js b/jstests/core/txns/commands_not_allowed_in_txn.js index 0231162e284..01486c5065d 100644 --- a/jstests/core/txns/commands_not_allowed_in_txn.js +++ b/jstests/core/txns/commands_not_allowed_in_txn.js @@ -2,7 +2,10 @@ // @tags: [ // uses_snapshot_read_concern, // uses_transactions, +// # Tenant migrations don't support applyOps. +// tenant_migration_incompatible, // ] + (function() { "use strict"; diff --git a/jstests/core/txns/prepare_transaction_fails_on_temp_collections.js b/jstests/core/txns/prepare_transaction_fails_on_temp_collections.js index c35f37e064c..98aaeeaef2d 100644 --- a/jstests/core/txns/prepare_transaction_fails_on_temp_collections.js +++ b/jstests/core/txns/prepare_transaction_fails_on_temp_collections.js @@ -9,6 +9,8 @@ * uses_prepare_transaction, * # applyOps is not supported on mongos * assumes_against_mongod_not_mongos, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ diff --git a/jstests/core/txns/statement_ids_accepted.js b/jstests/core/txns/statement_ids_accepted.js index b2c13356df0..67f7abede08 100644 --- a/jstests/core/txns/statement_ids_accepted.js +++ b/jstests/core/txns/statement_ids_accepted.js @@ -1,6 +1,12 @@ // Makes sure all commands which are supposed to take statement ids do. This should test all // commands that are allowed in transactions. -// @tags: [uses_transactions, uses_prepare_transaction] +// @tags: [ +// uses_transactions, +// uses_prepare_transaction, +// # Tenant migrations don't support applyOps. +// tenant_migration_incompatible +// ] + (function() { "use strict"; diff --git a/jstests/core/update_metrics.js b/jstests/core/update_metrics.js index ab4155ce41c..8bf93e5009d 100644 --- a/jstests/core/update_metrics.js +++ b/jstests/core/update_metrics.js @@ -7,6 +7,9 @@ * assumes_unsharded_collection, * # The test relies on the precise number of executions of commands. * requires_non_retryable_writes, + * # This test contains assertions on the number of executed operations, and tenant migrations + * # passthrough suites automatically retry operations on TenantMigrationAborted errors. + * tenant_migration_incompatible, * ] */ (function() { diff --git a/jstests/core/user_management_helpers.js b/jstests/core/user_management_helpers.js index 2af28f0b963..028595058d8 100644 --- a/jstests/core/user_management_helpers.js +++ b/jstests/core/user_management_helpers.js @@ -5,6 +5,9 @@ // no_selinux, // requires_auth, // requires_non_retryable_commands, +// # This test uses db._authOrThrow which does not use runCommand (required by the +// # inject_tenant_prefix.js override). +// tenant_migration_incompatible, // ] (function() { diff --git a/jstests/core/views/view_with_invalid_dbname.js b/jstests/core/views/view_with_invalid_dbname.js index c7b69e7539c..8c80d4102c9 100644 --- a/jstests/core/views/view_with_invalid_dbname.js +++ b/jstests/core/views/view_with_invalid_dbname.js @@ -10,6 +10,8 @@ * assumes_against_mongod_not_mongos, * # applyOps is not retryable. * requires_non_retryable_commands, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ (function() { diff --git a/jstests/core/views/views_all_commands.js b/jstests/core/views/views_all_commands.js index 699adbefe26..fa7f0fcc30e 100644 --- a/jstests/core/views/views_all_commands.js +++ b/jstests/core/views/views_all_commands.js @@ -8,6 +8,8 @@ // requires_non_retryable_commands, // requires_non_retryable_writes, // uses_map_reduce_with_temp_collections, +// # Tenant migrations don't support applyOps. +// tenant_migration_incompatible, // ] /* diff --git a/jstests/core/views/views_creation.js b/jstests/core/views/views_creation.js index 838285a0072..9528199996a 100644 --- a/jstests/core/views/views_creation.js +++ b/jstests/core/views/views_creation.js @@ -9,6 +9,8 @@ * assumes_superuser_permissions, * # applyOps is not retryable. * requires_non_retryable_commands, + * # Tenant migrations don't support applyOps. + * tenant_migration_incompatible, * ] */ (function() { diff --git a/jstests/core/views/views_stats.js b/jstests/core/views/views_stats.js index 90413112640..fe788697088 100644 --- a/jstests/core/views/views_stats.js +++ b/jstests/core/views/views_stats.js @@ -9,6 +9,8 @@ // assumes_unsharded_collection, // # top command is not available on embedded // incompatible_with_embedded, +// # This test depends on hardcoded database name equality. +// tenant_migration_incompatible, // ] (function() { |