diff options
author | Matthew Russotto <matthew.russotto@mongodb.com> | 2021-04-07 14:53:12 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-04-08 15:50:30 +0000 |
commit | aa31defcc4e9c0b1f3302e6796f95517bf1a7d91 (patch) | |
tree | bf45f0499310ae685467d3fc1199972dc7259011 | |
parent | 0fbb10db66a5ca4d5c7ce5f2a3fb752d0e533be2 (diff) | |
download | mongo-aa31defcc4e9c0b1f3302e6796f95517bf1a7d91.tar.gz |
SERVER-55770 Add geo_update_dedup.js to the list of multi-update tests not handled by tenant migration passthrough
31 files changed, 45 insertions, 148 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 8f3f409bbbc..cd7febc189d 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml @@ -65,32 +65,6 @@ selector: - jstests/core/notablescan_capped.js # captrunc command is not blocked during tenant migration. - jstests/core/capped6.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/index_arr2.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 # # Blacklists from causally_consistent_jscore_passthrough.yml @@ -160,6 +134,8 @@ selector: - requires_profiling # emptycapped command is blocked during tenant migration. - requires_emptycapped + # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js. + - requires_multi_updates ## # The next tag corresponds to the special error thrown by the set_read_preference_secondary.js # override when it refuses to replace the readPreference of a particular command. Above each tag diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml index e48485c5ed7..cb062c735ea 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml @@ -61,32 +61,6 @@ selector: - jstests/core/notablescan_capped.js # captrunc command is not blocked during tenant migration. - jstests/core/capped6.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/index_arr2.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 exclude_with_any_tags: - assumes_standalone_mongod @@ -102,6 +76,8 @@ selector: - requires_profiling # emptycapped command is blocked during tenant migration. - requires_emptycapped + # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js. + - requires_multi_updates - tenant_migration_incompatible executor: 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 82d5295c24f..39e9f112e13 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml @@ -64,32 +64,6 @@ selector: - jstests/core/notablescan_capped.js # captrunc command is not blocked during tenant migration. - jstests/core/capped6.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/index_arr2.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 # # From retryable writes jscore stepdown passthrough @@ -196,6 +170,8 @@ selector: - requires_profiling # emptycapped command is blocked during tenant migration. - requires_emptycapped + # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js. + - requires_multi_updates - tenant_migration_incompatible - operations_longer_than_stepdown_interval - requires_non_retryable_writes diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml index 38c9c5741fd..2cc25669001 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml @@ -64,32 +64,6 @@ selector: - jstests/core/notablescan_capped.js # captrunc command is not blocked during tenant migration. - jstests/core/capped6.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/index_arr2.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 # # From retryable writes jscore stepdown passthrough @@ -194,6 +168,8 @@ selector: - requires_profiling # emptycapped command is blocked during tenant migration. - requires_emptycapped + # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js. + - requires_multi_updates - tenant_migration_incompatible - operations_longer_than_stepdown_interval - requires_non_retryable_writes 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 313981873db..668cb84c2db 100644 --- a/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml @@ -64,32 +64,6 @@ selector: - jstests/core/notablescan_capped.js # captrunc command is not blocked during tenant migration. - jstests/core/capped6.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/index_arr2.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 # # From retryable writes jscore stepdown passthrough @@ -194,6 +168,8 @@ selector: - requires_profiling # emptycapped command is blocked during tenant migration. - requires_emptycapped + # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js. + - requires_multi_updates - tenant_migration_incompatible - operations_longer_than_stepdown_interval - requires_non_retryable_writes diff --git a/jstests/core/batch_write_collation_estsize.js b/jstests/core/batch_write_collation_estsize.js index dd8612ef357..13dc8f1efec 100644 --- a/jstests/core/batch_write_collation_estsize.js +++ b/jstests/core/batch_write_collation_estsize.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] +// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes] // Tests that the update and delete batch write operations account for the size of the collation // specification in the write operation document. diff --git a/jstests/core/bulk_api_ordered.js b/jstests/core/bulk_api_ordered.js index d3a484c2b12..b0b6fb9fc08 100644 --- a/jstests/core/bulk_api_ordered.js +++ b/jstests/core/bulk_api_ordered.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] +// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes] var collectionName = "bulk_api_ordered"; var coll = db.getCollection(collectionName); diff --git a/jstests/core/bulk_api_unordered.js b/jstests/core/bulk_api_unordered.js index 04e002306e5..ed625c04342 100644 --- a/jstests/core/bulk_api_unordered.js +++ b/jstests/core/bulk_api_unordered.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] +// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes] var collectionName = "bulk_api_unordered"; var coll = db.getCollection(collectionName); diff --git a/jstests/core/fts_querylang.js b/jstests/core/fts_querylang.js index 0845efaf781..a4bdc3981b5 100644 --- a/jstests/core/fts_querylang.js +++ b/jstests/core/fts_querylang.js @@ -1,5 +1,6 @@ // Test the $text query operator. // @tags: [ +// requires_multi_updates, // requires_non_retryable_writes, // ] (function() { diff --git a/jstests/core/geo_update_dedup.js b/jstests/core/geo_update_dedup.js index 3191fa0df33..10c2ca0dfc7 100644 --- a/jstests/core/geo_update_dedup.js +++ b/jstests/core/geo_update_dedup.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because single updates are not targeted. // @tags: [ // assumes_unsharded_collection, +// requires_multi_updates, // requires_non_retryable_writes, // ] diff --git a/jstests/core/idhack.js b/jstests/core/idhack.js index 9e2448335b8..3a022a1c823 100644 --- a/jstests/core/idhack.js +++ b/jstests/core/idhack.js @@ -1,5 +1,6 @@ // @tags: [ // assumes_balancer_off, +// requires_multi_updates, // requires_non_retryable_writes, // ] (function() { diff --git a/jstests/core/index_arr2.js b/jstests/core/index_arr2.js index faca8be6337..99950880422 100644 --- a/jstests/core/index_arr2.js +++ b/jstests/core/index_arr2.js @@ -1,4 +1,4 @@ -// @tags: [assumes_balancer_off, requires_non_retryable_writes] +// @tags: [assumes_balancer_off, requires_multi_updates, requires_non_retryable_writes] NUM = 20; M = 5; diff --git a/jstests/core/role_management_helpers.js b/jstests/core/role_management_helpers.js index f59ff425d52..312c07618ae 100644 --- a/jstests/core/role_management_helpers.js +++ b/jstests/core/role_management_helpers.js @@ -2,6 +2,7 @@ // assumes_superuser_permissions, // assumes_write_concern_unchanged, // requires_auth, +// requires_multi_updates, // requires_non_retryable_commands, // ] diff --git a/jstests/core/roles_info.js b/jstests/core/roles_info.js index e0275fb2bf5..5667322d593 100644 --- a/jstests/core/roles_info.js +++ b/jstests/core/roles_info.js @@ -1,5 +1,5 @@ // Test invocations of {rolesInfo: ...} command -// @tags: [requires_non_retryable_commands,requires_fcv_47] +// @tags: [requires_multi_updates, requires_non_retryable_commands,requires_fcv_47] (function() { 'use strict'; diff --git a/jstests/core/server1470.js b/jstests/core/server1470.js index 41f7bfea7e0..c3c7d47aaeb 100644 --- a/jstests/core/server1470.js +++ b/jstests/core/server1470.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] +// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes] t = db.server1470; t.drop(); diff --git a/jstests/core/update7.js b/jstests/core/update7.js index 30dd79951dc..4f1fce0aa39 100644 --- a/jstests/core/update7.js +++ b/jstests/core/update7.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] +// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes] t = db.update7; t.drop(); diff --git a/jstests/core/update_arrayFilters.js b/jstests/core/update_arrayFilters.js index a7e517a3fe4..c3d610826d4 100644 --- a/jstests/core/update_arrayFilters.js +++ b/jstests/core/update_arrayFilters.js @@ -1,6 +1,10 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_writes] +// @tags: [ +// assumes_no_implicit_collection_creation_after_drop, +// requires_multi_updates, +// requires_non_retryable_writes, +// ] // Tests for the arrayFilters option to update and findAndModify. (function() { diff --git a/jstests/core/update_arraymatch2.js b/jstests/core/update_arraymatch2.js index 7f51bb0f32a..7610de7c962 100644 --- a/jstests/core/update_arraymatch2.js +++ b/jstests/core/update_arraymatch2.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [requires_multi_updates, requires_non_retryable_writes] t = db.update_arraymatch2; t.drop(); diff --git a/jstests/core/update_arraymatch3.js b/jstests/core/update_arraymatch3.js index 3a232bdfc54..36f7ab22430 100644 --- a/jstests/core/update_arraymatch3.js +++ b/jstests/core/update_arraymatch3.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [requires_multi_updates, requires_non_retryable_writes] t = db.update_arraymatch3; t.drop(); diff --git a/jstests/core/update_arraymatch5.js b/jstests/core/update_arraymatch5.js index 4bddcb1ea26..1b4c967b38b 100644 --- a/jstests/core/update_arraymatch5.js +++ b/jstests/core/update_arraymatch5.js @@ -1,5 +1,6 @@ // @tags: [ // requires_fastcount, +// requires_multi_updates, // requires_non_retryable_writes, // ] diff --git a/jstests/core/update_hint.js b/jstests/core/update_hint.js index 287f63ef148..464b5f80fd9 100644 --- a/jstests/core/update_hint.js +++ b/jstests/core/update_hint.js @@ -4,7 +4,7 @@ * - 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] + * @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes] */ (function() { diff --git a/jstests/core/update_multi3.js b/jstests/core/update_multi3.js index c8a1fa3b11d..4c6769bc65a 100644 --- a/jstests/core/update_multi3.js +++ b/jstests/core/update_multi3.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [requires_multi_updates, requires_non_retryable_writes] t = db.update_multi3; diff --git a/jstests/core/update_multi4.js b/jstests/core/update_multi4.js index 38fd75358f0..cfe11616efc 100644 --- a/jstests/core/update_multi4.js +++ b/jstests/core/update_multi4.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [requires_multi_updates, requires_non_retryable_writes] t = db.update_mulit4; t.drop(); diff --git a/jstests/core/update_multi5.js b/jstests/core/update_multi5.js index c8823ef1904..683b4426874 100644 --- a/jstests/core/update_multi5.js +++ b/jstests/core/update_multi5.js @@ -1,4 +1,4 @@ -// @tags: [assumes_balancer_off, requires_non_retryable_writes] +// @tags: [assumes_balancer_off, requires_multi_updates, requires_non_retryable_writes] // tests that $addToSet works in a multi-update. (function() { diff --git a/jstests/core/update_pipeline_shell_helpers.js b/jstests/core/update_pipeline_shell_helpers.js index 7a4d2419ad7..2af1d48d72b 100644 --- a/jstests/core/update_pipeline_shell_helpers.js +++ b/jstests/core/update_pipeline_shell_helpers.js @@ -4,7 +4,12 @@ * This test is tagged as 'requires_find_command' to exclude it from the legacy passthroughs, since * pipeline syntax cannot be used for OP_UPDATE requests. * - * @tags: [requires_find_command, requires_non_retryable_writes, assumes_write_concern_unchanged] + * @tags: [ + * requires_find_command, + * requires_multi_updates, + * requires_non_retryable_writes, + * assumes_write_concern_unchanged, + * ] */ (function() { "use strict"; diff --git a/jstests/core/update_with_pipeline.js b/jstests/core/update_with_pipeline.js index 84cffe92f6c..24810720053 100644 --- a/jstests/core/update_with_pipeline.js +++ b/jstests/core/update_with_pipeline.js @@ -6,6 +6,7 @@ * * @tags: [ * requires_find_command, + * requires_multi_updates, * requires_non_retryable_writes, * ] */ diff --git a/jstests/core/updatei.js b/jstests/core/updatei.js index dea5b13cd17..599c9538a80 100644 --- a/jstests/core/updatei.js +++ b/jstests/core/updatei.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] +// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes] // Test new (optional) update syntax // SERVER-4176 diff --git a/jstests/core/updatej.js b/jstests/core/updatej.js index b96233f448d..bab2a32f45f 100644 --- a/jstests/core/updatej.js +++ b/jstests/core/updatej.js @@ -3,7 +3,7 @@ // This test uses a multi-update, which is not retryable. The behavior it is testing is also not // true of sharded clusters, since one shard may continue applying updates while the other // encounters an error. -// @tags: [requires_non_retryable_writes, assumes_unsharded_collection] +// @tags: [requires_multi_updates, requires_non_retryable_writes, assumes_unsharded_collection] t = db.jstests_updatej; t.drop(); diff --git a/jstests/core/updatel.js b/jstests/core/updatel.js index 9990aa6c6f2..a663f306722 100644 --- a/jstests/core/updatel.js +++ b/jstests/core/updatel.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [requires_multi_updates, requires_non_retryable_writes, requires_fastcount] // The positional operator allows an update modifier field path to contain a sentinel ('$') path // part that is replaced with the numeric position of an array element matched by the update's query diff --git a/jstests/core/where_system_js.js b/jstests/core/where_system_js.js index fb9cffc87ff..8672106e5f4 100644 --- a/jstests/core/where_system_js.js +++ b/jstests/core/where_system_js.js @@ -3,6 +3,7 @@ // # 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_multi_updates, // requires_non_retryable_writes, // requires_scripting, // ] diff --git a/jstests/core/write_result.js b/jstests/core/write_result.js index 044f399e429..2204871b9c3 100644 --- a/jstests/core/write_result.js +++ b/jstests/core/write_result.js @@ -5,6 +5,7 @@ // @tags: [ // assumes_unsharded_collection, // assumes_write_concern_unchanged, +// requires_multi_updates, // requires_non_retryable_writes, // requires_fastcount, // ] |