diff options
author | Jack Mulrow <jack.mulrow@mongodb.com> | 2020-04-16 12:52:36 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-07-16 18:20:49 +0000 |
commit | 706552f34db7f14f0d468a9d1eefd8f1c98268da (patch) | |
tree | 9808650f9a114c727bee4a779fc99781dfc64d36 | |
parent | 821acd4c97c24936a12af9d7b1a077714229ee3f (diff) | |
download | mongo-706552f34db7f14f0d468a9d1eefd8f1c98268da.tar.gz |
SERVER-33229 Blacklist tests that use startParallelShell from failover core suites
(cherry picked from commit 1df41757d5d1e04c51eeeee786a17b005e025b93)
26 files changed, 62 insertions, 38 deletions
diff --git a/buildscripts/resmokeconfig/suites/replica_sets_kill_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_kill_primary_jscore_passthrough.yml index 75e560310d4..c35f9451b23 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_kill_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_kill_primary_jscore_passthrough.yml @@ -73,12 +73,6 @@ selector: # Creates new mongo connection but won't retry connecting. - jstests/core/shell_connection_strings.js - # Starts a parallel shell but won't restart it after unclean shutdown. - # TODO SERVER-33229: Remove these exclusions - - jstests/core/compact_keeps_indexes.js - - jstests/core/find_and_modify_concurrent_update.js - - jstests/core/shellstartparallel.js - # Inserts enough data that recovery takes more than 8 seconds, so we never get a working primary. - jstests/core/geo_s2ordering.js @@ -136,6 +130,11 @@ selector: ## The next tag corresponds to long running-operations, as they may exhaust their number # of retries and result in a network error being thrown. - operations_longer_than_stepdown_interval + # Operations in the main test shell aren't guaranteed to be causally consistent with operations + # performed earlier in a parallel shell if multiple nodes are electable because the latest + # operation and cluster times aren't shared between shells. + # "Cowardly refusing to run test with network retries enabled when it uses startParallelShell()" + - uses_parallel_shell executor: archive: @@ -146,7 +145,6 @@ executor: - ValidateCollections config: shell_options: - # TODO SERVER-33229: Remove override of startParallelShell eval: >- testingReplication = true; load('jstests/libs/override_methods/network_error_and_txn_override.js'); diff --git a/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough.yml index 814b21f8c3e..22449386dc4 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough.yml @@ -284,12 +284,6 @@ selector: # Creates new mongo connection but won't retry connecting. - jstests/core/shell_connection_strings.js - # Starts a parallel shell but won't restart it after shutdown. - # TODO SERVER-33229: Remove these exclusions - - jstests/core/compact_keeps_indexes.js - - jstests/core/find_and_modify_concurrent_update.js - - jstests/core/shellstartparallel.js - # TODO SERVER-31242: findAndModify no-op retry should respect the fields option. - jstests/core/crud_api.js - jstests/core/find_and_modify2.js @@ -362,6 +356,11 @@ selector: - requires_capped # Retrying a query can change whether a plan cache entry is active. - inspects_whether_plan_cache_entry_is_active + # Operations in the main test shell aren't guaranteed to be causally consistent with operations + # performed earlier in a parallel shell if multiple nodes are electable because the latest + # operation and cluster times aren't shared between shells. + # "Cowardly refusing to run test with network retries enabled when it uses startParallelShell()" + - uses_parallel_shell executor: archive: diff --git a/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_stepdown_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_stepdown_jscore_passthrough.yml index 8e0d3975dfa..79cbcf950e1 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_stepdown_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_stepdown_jscore_passthrough.yml @@ -284,12 +284,6 @@ selector: # Creates new mongo connection but won't retry connecting. - jstests/core/shell_connection_strings.js - # Starts a parallel shell but won't restart it after shutdown. - # TODO SERVER-33229: Remove these exclusions - - jstests/core/compact_keeps_indexes.js - - jstests/core/find_and_modify_concurrent_update.js - - jstests/core/shellstartparallel.js - # Does not support tojson of command objects. - jstests/core/SERVER-23626.js @@ -341,6 +335,11 @@ selector: - requires_capped # Retrying a query can change whether a plan cache entry is active. - inspects_whether_plan_cache_entry_is_active + # Operations in the main test shell aren't guaranteed to be causally consistent with operations + # performed earlier in a parallel shell if multiple nodes are electable because the latest + # operation and cluster times aren't shared between shells. + # "Cowardly refusing to run test with network retries enabled when it uses startParallelShell()" + - uses_parallel_shell executor: archive: diff --git a/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough.yml index 60a615830fd..036e7ef7ea4 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough.yml @@ -281,12 +281,6 @@ selector: # Creates new mongo connection but won't retry connecting. - jstests/core/shell_connection_strings.js - # Starts a parallel shell but won't restart it after shutdown. - # TODO SERVER-33229: Remove these exclusions - - jstests/core/compact_keeps_indexes.js - - jstests/core/find_and_modify_concurrent_update.js - - jstests/core/shellstartparallel.js - # TODO SERVER-31242: findAndModify no-op retry should respect the fields option. - jstests/core/crud_api.js - jstests/core/find_and_modify2.js @@ -350,6 +344,11 @@ selector: - requires_capped # Retrying a query can change whether a plan cache entry is active. - inspects_whether_plan_cache_entry_is_active + # Operations in the main test shell aren't guaranteed to be causally consistent with operations + # performed earlier in a parallel shell if multiple nodes are electable because the latest + # operation and cluster times aren't shared between shells. + # "Cowardly refusing to run test with network retries enabled when it uses startParallelShell()" + - uses_parallel_shell executor: archive: diff --git a/buildscripts/resmokeconfig/suites/replica_sets_terminate_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_terminate_primary_jscore_passthrough.yml index 219ad7a5c9c..634e5c69b93 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_terminate_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_terminate_primary_jscore_passthrough.yml @@ -73,12 +73,6 @@ selector: # Creates new mongo connection but won't retry connecting. - jstests/core/shell_connection_strings.js - # Starts a parallel shell but won't restart it after shutdown. - # TODO SERVER-33229: Remove these exclusions - - jstests/core/compact_keeps_indexes.js - - jstests/core/find_and_modify_concurrent_update.js - - jstests/core/shellstartparallel.js - exclude_with_any_tags: ## # The next four tags correspond to the special errors thrown by the auto_retry_on_network_error.js @@ -118,6 +112,11 @@ selector: - operations_longer_than_stepdown_interval # Retrying a query can change whether a plan cache entry is active. - inspects_whether_plan_cache_entry_is_active + # Operations in the main test shell aren't guaranteed to be causally consistent with operations + # performed earlier in a parallel shell if multiple nodes are electable because the latest + # operation and cluster times aren't shared between shells. + # "Cowardly refusing to run test with network retries enabled when it uses startParallelShell()" + - uses_parallel_shell executor: archive: @@ -127,7 +126,6 @@ executor: - ValidateCollections config: shell_options: - # TODO SERVER-33229: Remove override of startParallelShell eval: >- testingReplication = true; load("jstests/libs/override_methods/causally_consistent_index_builds.js"); diff --git a/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml b/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml index 633066d4a4a..27df5fba16c 100644 --- a/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml @@ -110,6 +110,11 @@ selector: ## The next tag corresponds to long running-operations, as they may exhaust their number # of retries and result in a network error being thrown. - operations_longer_than_stepdown_interval + # Operations in the main test shell aren't guaranteed to be causally consistent with operations + # performed earlier in a parallel shell if multiple nodes are electable because the latest + # operation and cluster times aren't shared between shells. + # "Cowardly refusing to run test with network retries enabled when it uses startParallelShell()" + - uses_parallel_shell executor: archive: diff --git a/jstests/core/awaitdata_getmore_cmd.js b/jstests/core/awaitdata_getmore_cmd.js index eb1fb194a32..c40b5661ead 100644 --- a/jstests/core/awaitdata_getmore_cmd.js +++ b/jstests/core/awaitdata_getmore_cmd.js @@ -8,6 +8,7 @@ // requires_capped, // requires_getmore, // uses_multiple_connections, +// uses_parallel_shell, // ] (function() { diff --git a/jstests/core/compact_keeps_indexes.js b/jstests/core/compact_keeps_indexes.js index 25b3909df1c..4371513b3d9 100644 --- a/jstests/core/compact_keeps_indexes.js +++ b/jstests/core/compact_keeps_indexes.js @@ -5,6 +5,7 @@ // # compact command is not available on embedded // incompatible_with_embedded, // uses_multiple_connections, +// uses_parallel_shell, // ] (function() { diff --git a/jstests/core/count10.js b/jstests/core/count10.js index 63c788c15a6..1e8a5890610 100644 --- a/jstests/core/count10.js +++ b/jstests/core/count10.js @@ -9,6 +9,7 @@ // # Uses $where operator // requires_scripting, // uses_multiple_connections, +// uses_parallel_shell, // ] t = db.count10; diff --git a/jstests/core/count_plan_summary.js b/jstests/core/count_plan_summary.js index ed30956d917..bd2fd3a8824 100644 --- a/jstests/core/count_plan_summary.js +++ b/jstests/core/count_plan_summary.js @@ -9,6 +9,7 @@ // # Uses $where operator // requires_scripting, // uses_multiple_connections, +// uses_parallel_shell, // ] var t = db.jstests_count_plan_summary; diff --git a/jstests/core/coveredIndex3.js b/jstests/core/coveredIndex3.js index 3a6621a2a72..a054840b6df 100644 --- a/jstests/core/coveredIndex3.js +++ b/jstests/core/coveredIndex3.js @@ -1,5 +1,8 @@ // Check proper covered index handling when query and processGetMore yield. // SERVER-4975 +// @tags: [ +// uses_parallel_shell, +// ] if (0) { // SERVER-4975 diff --git a/jstests/core/currentop.js b/jstests/core/currentop.js index 636fdee2cb3..2be1ac277f8 100644 --- a/jstests/core/currentop.js +++ b/jstests/core/currentop.js @@ -5,6 +5,7 @@ * assumes_superuser_permissions, * # fsync command is not available on embedded * incompatible_with_embedded, + * uses_parallel_shell, * ] */ diff --git a/jstests/core/cursora.js b/jstests/core/cursora.js index 3def8c6162f..30454b3fe4a 100644 --- a/jstests/core/cursora.js +++ b/jstests/core/cursora.js @@ -5,6 +5,7 @@ // # Uses $where operator // requires_scripting, // uses_multiple_connections, +// uses_parallel_shell, // ] (function() { diff --git a/jstests/core/distinct3.js b/jstests/core/distinct3.js index 23557820bec..9968a63157d 100644 --- a/jstests/core/distinct3.js +++ b/jstests/core/distinct3.js @@ -1,6 +1,7 @@ // @tags: [ // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] // Yield and delete test case for query optimizer cursor. SERVER-4401 diff --git a/jstests/core/find_and_modify_concurrent_update.js b/jstests/core/find_and_modify_concurrent_update.js index 9682bea4c65..63f8aa7dce4 100644 --- a/jstests/core/find_and_modify_concurrent_update.js +++ b/jstests/core/find_and_modify_concurrent_update.js @@ -6,6 +6,7 @@ // # Uses $where operator // requires_scripting, // uses_multiple_connections, +// uses_parallel_shell, // ] // Ensures that find and modify will not apply an update to a document which, due to a concurrent diff --git a/jstests/core/fsync.js b/jstests/core/fsync.js index bd5526b8bc9..11cf4ca647a 100644 --- a/jstests/core/fsync.js +++ b/jstests/core/fsync.js @@ -6,7 +6,11 @@ * - Confirm that writes can progress after fsyncUnlock * - Confirm that the command can be run repeatedly without breaking things * - * @tags: [requires_fastcount, requires_fsync] + * @tags: [ + * requires_fastcount, + * requires_fsync, + * uses_parallel_shell, + * ] */ (function() { "use strict"; diff --git a/jstests/core/geo_update_btree.js b/jstests/core/geo_update_btree.js index 981f0c629c3..8cf711a9e48 100644 --- a/jstests/core/geo_update_btree.js +++ b/jstests/core/geo_update_btree.js @@ -4,6 +4,7 @@ // assumes_write_concern_unchanged, // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] var coll = db.getCollection("jstests_geo_update_btree"); diff --git a/jstests/core/killop_drop_collection.js b/jstests/core/killop_drop_collection.js index b4efd13733b..faf419b2f31 100644 --- a/jstests/core/killop_drop_collection.js +++ b/jstests/core/killop_drop_collection.js @@ -8,6 +8,7 @@ * assumes_superuser_permissions, * # Uses index building in background * requires_background_index, + * uses_parallel_shell, * ] */ (function() { diff --git a/jstests/core/loadserverscripts.js b/jstests/core/loadserverscripts.js index a2373a33dc8..641a07245fe 100644 --- a/jstests/core/loadserverscripts.js +++ b/jstests/core/loadserverscripts.js @@ -2,6 +2,7 @@ // requires_fastcount, // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] // Test db.loadServerScripts() diff --git a/jstests/core/mr_killop.js b/jstests/core/mr_killop.js index 168b54a5f6d..5817ea822e7 100644 --- a/jstests/core/mr_killop.js +++ b/jstests/core/mr_killop.js @@ -7,6 +7,7 @@ // does_not_support_causal_consistency, // does_not_support_stepdowns, // uses_multiple_connections, +// uses_parallel_shell, // ] // Test killop applied to m/r operations and child ops of m/r operations. diff --git a/jstests/core/remove9.js b/jstests/core/remove9.js index 888625764ec..5b1ecba9122 100644 --- a/jstests/core/remove9.js +++ b/jstests/core/remove9.js @@ -2,6 +2,7 @@ // requires_getmore, // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] // SERVER-2009 Count odd numbered entries while updating and deleting even numbered entries. diff --git a/jstests/core/removeb.js b/jstests/core/removeb.js index eeed0fc30bc..cbcc60e8b0d 100644 --- a/jstests/core/removeb.js +++ b/jstests/core/removeb.js @@ -2,6 +2,7 @@ // requires_fastcount, // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] // Test removal of Records that have been reused since the remove operation began. SERVER-5198 diff --git a/jstests/core/removec.js b/jstests/core/removec.js index 0e5d3e65ad2..500437e8891 100644 --- a/jstests/core/removec.js +++ b/jstests/core/removec.js @@ -1,6 +1,7 @@ // @tags: [ // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] // Sanity test for removing documents with adjacent index keys. SERVER-2008 diff --git a/jstests/core/shellstartparallel.js b/jstests/core/shellstartparallel.js index 947ddf24bf4..e86d4690401 100644 --- a/jstests/core/shellstartparallel.js +++ b/jstests/core/shellstartparallel.js @@ -1,6 +1,7 @@ // @tags: [ // requires_fastcount, // uses_multiple_connections, +// uses_parallel_shell, // ] function f() { diff --git a/jstests/core/updatef.js b/jstests/core/updatef.js index 75b61e299cd..6597484f78a 100644 --- a/jstests/core/updatef.js +++ b/jstests/core/updatef.js @@ -2,6 +2,7 @@ // requires_non_retryable_commands, // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] // Test unsafe management of nsdt on update command yield SERVER-3208 diff --git a/jstests/libs/override_methods/network_error_and_txn_override.js b/jstests/libs/override_methods/network_error_and_txn_override.js index e2e50268d7a..dcc5d9207c7 100644 --- a/jstests/libs/override_methods/network_error_and_txn_override.js +++ b/jstests/libs/override_methods/network_error_and_txn_override.js @@ -1062,9 +1062,6 @@ function runCommandOverride(conn, dbName, cmdName, cmdObj, clientFunction, makeF } if (configuredForNetworkRetry()) { - OverrideHelpers.prependOverrideInParallelShell( - "jstests/libs/override_methods/network_error_and_txn_override.js"); - const connectOriginal = connect; connect = function(url, user, pass) { @@ -1093,13 +1090,18 @@ if (configuredForNetworkRetry()) { throw new Error( "logout() isn't resilient to network errors. Please add requires_non_retryable_commands to your test"); }; + + startParallelShell = function() { + throw new Error("Cowardly refusing to run test with network retries enabled when it uses " + + "startParallelShell()"); + }; } if (configuredForTxnOverride()) { startParallelShell = function() { throw new Error( - "Cowardly refusing to run test with transaction override enabled when it uses" + - "startParalleShell()"); + "Cowardly refusing to run test with transaction override enabled when it uses " + + "startParallelShell()"); }; } |