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:13:43 +0000 |
commit | 65ff581d7f0eb97ae0b3ecee94e7627bd3dd3ee9 (patch) | |
tree | 94e01b3910b6784bf4395c0f4b105306b121eeaf | |
parent | 732df2fdc108f2125a9282ecb296283f58d57ac3 (diff) | |
download | mongo-65ff581d7f0eb97ae0b3ecee94e7627bd3dd3ee9.tar.gz |
SERVER-33229 Blacklist tests that use startParallelShell from failover core suites
(cherry picked from commit 1df41757d5d1e04c51eeeee786a17b005e025b93)
22 files changed, 36 insertions, 10 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 6dab24e0b0c..b7e7e8bbd7a 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_kill_primary_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_kill_primary_jscore_passthrough.yml @@ -71,11 +71,6 @@ selector: # explain command to run. - jstests/core/explain2.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 - # Inserts enough data that recovery takes more than 8 seconds, so we never get a working primary. - jstests/core/geo_s2ordering.js @@ -129,6 +124,11 @@ selector: - requires_collstats # "Cowardly fail if unbounded dataSize is run with a mongod that had an unclean shutdown: ..." - requires_datasize + # 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: @@ -138,7 +138,6 @@ executor: - ValidateCollections config: shell_options: - # TODO SERVER-33229: Remove override of startParallelShell eval: >- testingReplication = true; load("jstests/libs/override_methods/auto_retry_on_network_error.js"); diff --git a/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml b/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml index 0ee1b6d8611..850e1b31fc3 100644 --- a/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml @@ -108,6 +108,11 @@ selector: # "Cowardly refusing to run test with overridden write concern when it uses a command that can # only perform w=1 writes: ..." - requires_eval_command + # 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 9c0c048be1e..d3e231427df 100644 --- a/jstests/core/awaitdata_getmore_cmd.js +++ b/jstests/core/awaitdata_getmore_cmd.js @@ -7,6 +7,7 @@ // assumes_read_preference_unchanged, // 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 ff04a3a9451..2cab05d971f 100644 --- a/jstests/core/compact_keeps_indexes.js +++ b/jstests/core/compact_keeps_indexes.js @@ -1,6 +1,7 @@ // SERVER-16676 Make sure compact doesn't leave the collection with bad indexes // @tags: [ // uses_multiple_connections, +// uses_parallel_shell, // ] // SERVER-16967 Make sure compact doesn't crash while collections are being dropped // in a different database. diff --git a/jstests/core/count10.js b/jstests/core/count10.js index 1c8682e94c4..9e472a8edb3 100644 --- a/jstests/core/count10.js +++ b/jstests/core/count10.js @@ -7,6 +7,7 @@ // assumes_read_preference_unchanged, // does_not_support_stepdowns, // 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 7d1075d8f91..93428f41b66 100644 --- a/jstests/core/count_plan_summary.js +++ b/jstests/core/count_plan_summary.js @@ -7,6 +7,7 @@ // assumes_read_preference_unchanged, // does_not_support_stepdowns, // 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 4bfedda888b..e2781ea19db 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 ab1e2a26dc1..165eb26691d 100644 --- a/jstests/core/currentop.js +++ b/jstests/core/currentop.js @@ -2,6 +2,7 @@ * Tests that long-running operations show up in currentOp and report the locks they are holding. * @tags: [ * assumes_superuser_permissions, + * uses_parallel_shell, * ] */ (function() { diff --git a/jstests/core/cursora.js b/jstests/core/cursora.js index c30090bed32..6991a4f44b1 100644 --- a/jstests/core/cursora.js +++ b/jstests/core/cursora.js @@ -3,6 +3,7 @@ // requires_getmore, // requires_non_retryable_writes, // uses_multiple_connections, +// uses_parallel_shell, // ] t = db.cursora; 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 1209681ef8d..3717cbab29c 100644 --- a/jstests/core/find_and_modify_concurrent_update.js +++ b/jstests/core/find_and_modify_concurrent_update.js @@ -4,6 +4,7 @@ // @tags: [ // assumes_unsharded_collection, // 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 330767cf03a..7f484890022 100644 --- a/jstests/core/fsync.js +++ b/jstests/core/fsync.js @@ -7,7 +7,7 @@ * - Confirm that the command can be run repeatedly without breaking things * - Confirm that the pseudo commands and eval can perform fsyncLock/Unlock * - * @tags: [requires_eval_command, requires_fastcount] + * @tags: [requires_eval_command, requires_fastcount, uses_parallel_shell] */ (function() { "use strict"; diff --git a/jstests/core/geo_update_btree.js b/jstests/core/geo_update_btree.js index 476921b5c2f..89fd270688d 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 98b187002be..f638cc12c57 100644 --- a/jstests/core/killop_drop_collection.js +++ b/jstests/core/killop_drop_collection.js @@ -5,6 +5,7 @@ * successfully. * @tags: [ * assumes_superuser_permissions, + * 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 4b92d9f5dac..dbe342150ad 100644 --- a/jstests/core/mr_killop.js +++ b/jstests/core/mr_killop.js @@ -5,6 +5,7 @@ // assumes_unsharded_collection, // 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 b87c747f03e..e79feb0f409 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 c1dcf1e0f54..2b90d8634d4 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/auto_retry_on_network_error.js b/jstests/libs/override_methods/auto_retry_on_network_error.js index 6790cbd72a3..bd0b89b4efb 100644 --- a/jstests/libs/override_methods/auto_retry_on_network_error.js +++ b/jstests/libs/override_methods/auto_retry_on_network_error.js @@ -367,9 +367,6 @@ } while (numRetries >= 0); } - OverrideHelpers.prependOverrideInParallelShell( - "jstests/libs/override_methods/auto_retry_on_network_error.js"); - const connectOriginal = connect; connect = function(url, user, pass) { @@ -394,6 +391,11 @@ return retVal; }; + startParallelShell = function() { + throw new Error("Cowardly refusing to run test with network retries enabled when it uses " + + "startParallelShell()"); + }; + Mongo.prototype.logout = function() { throw new Error( "logout() isn't resilient to network errors. Please add requires_non_retryable_commands to your test"); |