summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Mulrow <jack.mulrow@mongodb.com>2020-04-16 12:52:36 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-07-16 18:20:49 +0000
commit706552f34db7f14f0d468a9d1eefd8f1c98268da (patch)
tree9808650f9a114c727bee4a779fc99781dfc64d36
parent821acd4c97c24936a12af9d7b1a077714229ee3f (diff)
downloadmongo-706552f34db7f14f0d468a9d1eefd8f1c98268da.tar.gz
SERVER-33229 Blacklist tests that use startParallelShell from failover core suites
(cherry picked from commit 1df41757d5d1e04c51eeeee786a17b005e025b93)
-rw-r--r--buildscripts/resmokeconfig/suites/replica_sets_kill_primary_jscore_passthrough.yml12
-rw-r--r--buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough.yml11
-rw-r--r--buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_stepdown_jscore_passthrough.yml11
-rw-r--r--buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough.yml11
-rw-r--r--buildscripts/resmokeconfig/suites/replica_sets_terminate_primary_jscore_passthrough.yml12
-rw-r--r--buildscripts/resmokeconfig/suites/retryable_writes_jscore_stepdown_passthrough.yml5
-rw-r--r--jstests/core/awaitdata_getmore_cmd.js1
-rw-r--r--jstests/core/compact_keeps_indexes.js1
-rw-r--r--jstests/core/count10.js1
-rw-r--r--jstests/core/count_plan_summary.js1
-rw-r--r--jstests/core/coveredIndex3.js3
-rw-r--r--jstests/core/currentop.js1
-rw-r--r--jstests/core/cursora.js1
-rw-r--r--jstests/core/distinct3.js1
-rw-r--r--jstests/core/find_and_modify_concurrent_update.js1
-rw-r--r--jstests/core/fsync.js6
-rw-r--r--jstests/core/geo_update_btree.js1
-rw-r--r--jstests/core/killop_drop_collection.js1
-rw-r--r--jstests/core/loadserverscripts.js1
-rw-r--r--jstests/core/mr_killop.js1
-rw-r--r--jstests/core/remove9.js1
-rw-r--r--jstests/core/removeb.js1
-rw-r--r--jstests/core/removec.js1
-rw-r--r--jstests/core/shellstartparallel.js1
-rw-r--r--jstests/core/updatef.js1
-rw-r--r--jstests/libs/override_methods/network_error_and_txn_override.js12
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()");
};
}