summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Mulrow <jack.mulrow@mongodb.com>2018-11-02 14:45:56 -0400
committerJack Mulrow <jack.mulrow@mongodb.com>2018-11-06 12:15:11 -0500
commitc0f43e12c3cb6382421b9d08d12adcae12dfcbe5 (patch)
tree2a38c49b74c316dfeaef4ffdd54fc4c0bc645dd8
parent36d4668e854d8bd17e8b684dbbf42b3b0903bbe7 (diff)
downloadmongo-c0f43e12c3cb6382421b9d08d12adcae12dfcbe5.tar.gz
SERVER-37878 Run causally_consistent_jscore_txns_passthrough against unsharded collections
-rw-r--r--buildscripts/resmokeconfig/suites/sharded_causally_consistent_jscore_txns_passthrough.yml82
-rw-r--r--etc/evergreen.yml42
2 files changed, 124 insertions, 0 deletions
diff --git a/buildscripts/resmokeconfig/suites/sharded_causally_consistent_jscore_txns_passthrough.yml b/buildscripts/resmokeconfig/suites/sharded_causally_consistent_jscore_txns_passthrough.yml
new file mode 100644
index 00000000000..6934729f9d9
--- /dev/null
+++ b/buildscripts/resmokeconfig/suites/sharded_causally_consistent_jscore_txns_passthrough.yml
@@ -0,0 +1,82 @@
+# This suite tests the core transactions functionality with causal consistency enabled on the
+# session. The purpose of this passthrough is to ensure that enabling causal consistency has no
+# effect on this core functionality when run against unsharded collections in a sharded cluster.
+
+test_kind: js_test
+selector:
+ roots:
+ - jstests/core/txns/**/*.js
+ exclude_files:
+ # Profile can only be run against the admin database on mongos.
+ - jstests/core/txns/transactions_profiling.js
+ - jstests/core/txns/transactions_profiling_with_drops.js
+
+ # No featureCompatibilityVersion parameter on mongos.
+ - jstests/core/txns/abort_transactions_on_FCV_downgrade.js
+
+ # Mongos doesn't upconvert from local or majority level readConcern to snapshot.
+ - jstests/core/txns/upconvert_read_concern.js
+
+ # Implicitly creates a database through a collection rename, which does not work in a sharded
+ # cluster.
+ - jstests/core/txns/transactions_block_ddl.js
+
+ # TODO SERVER-36124: maxTimeMS doesn't work for insert on mongos.
+ - jstests/core/txns/write_conflicts_with_non_txns.js
+
+ # TODO SERVER-36120: No doTxn command on mongos.
+ - jstests/core/txns/do_txn_atomicity.js
+ - jstests/core/txns/do_txn_basic.js
+
+ # TODO SERVER-36121: Set the transactionLifetimeLimitSeconds parameter, which is not on mongos.
+ - jstests/core/txns/abort_expired_transaction.js
+ - jstests/core/txns/abort_transaction_thread_does_not_block_on_locks.js
+ - jstests/core/txns/kill_op_on_txn_expiry.js
+
+ # Writes to the local database are not allowed through mongos.
+ # TODO SERVER-28756: Mongos CSRS write retry logic drops txnNumbers.
+ - jstests/core/txns/banned_txn_dbs.js
+
+ # TODO SERVER-36260: Mongos should reject commands with txnNumbers that aren't allowed in a
+ # transaction.
+ # TODO SERVER-33709: Support readConcern snapshot in cluster count command.
+ - jstests/core/txns/commands_not_allowed_in_txn.js
+
+ # TODO SERVER-35825: Mongos should only allow readConcern on writes that start transactions.
+ - jstests/core/txns/no_read_concern_snapshot_outside_txn.js
+
+ # Uses hangAfterCollectionInserts failpoint not available on mongos.
+ - jstests/core/txns/speculative_snapshot_includes_all_writes.js
+
+ # Does not use the transactions shell helpers so afterClusterTime read concern is incorrectly
+ # attached to statements in a transaction beyond the first one.
+ - jstests/core/txns/non_transactional_operations_on_session_with_transaction.js
+ exclude_with_any_tags:
+ # Prepare is not a command on mongos.
+ - uses_prepare_transaction
+executor:
+ archive:
+ hooks:
+ - ValidateCollections
+ config:
+ shell_options:
+ eval: >-
+ var testingReplication = true;
+ load('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
+ readMode: commands
+ hooks:
+ # We don't execute dbHash or oplog consistency checks since there is only a single replica set
+ # node.
+ - class: ValidateCollections
+ - class: CleanEveryN
+ n: 20
+ fixture:
+ class: ShardedClusterFixture
+ mongos_options:
+ set_parameters:
+ enableTestCommands: 1
+ mongod_options:
+ set_parameters:
+ enableTestCommands: 1
+ numInitialSyncAttempts: 1
+ num_rs_nodes_per_shard: 1
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 802585de1de..bc87613245e 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -5708,6 +5708,15 @@ tasks:
run_multiple_jobs: true
- <<: *task_template
+ name: sharded_causally_consistent_jscore_txns_passthrough
+ commands:
+ - func: "do setup"
+ - func: "run tests"
+ vars:
+ resmoke_args: --suites=sharded_causally_consistent_jscore_txns_passthrough --storageEngine=wiredTiger
+ run_multiple_jobs: true
+
+- <<: *task_template
name: replica_sets_jscore_passthrough
depends_on:
- name: jsCore
@@ -8591,6 +8600,7 @@ buildvariants:
- name: sharding_auth
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
@@ -8775,6 +8785,7 @@ buildvariants:
- name: serial_run
- name: session_jscore_passthrough
- name: sharded_causally_consistent_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_0
@@ -9006,6 +9017,7 @@ buildvariants:
- name: sharding_last_stable_mongos_and_mixed_shards
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
- name: ssl
@@ -9099,6 +9111,7 @@ buildvariants:
- name: sharding_auth
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
- name: ssl
@@ -9363,6 +9376,7 @@ buildvariants:
- name: sharding_last_stable_mongos_and_mixed_shards
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
- name: ssl
@@ -9451,6 +9465,7 @@ buildvariants:
- name: sharding_auth
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
- name: ssl
@@ -9575,6 +9590,7 @@ buildvariants:
- name: sharding_auth
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
- name: ssl
@@ -9672,6 +9688,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -9764,6 +9781,7 @@ buildvariants:
- name: sharding_ese
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
@@ -9863,6 +9881,7 @@ buildvariants:
- name: sharding_last_stable_mongos_and_mixed_shards
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
@@ -9947,6 +9966,7 @@ buildvariants:
- name: sharding_ese
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
@@ -10050,6 +10070,7 @@ buildvariants:
- name: sharding_last_stable_mongos_and_mixed_shards
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
@@ -10322,6 +10343,7 @@ buildvariants:
- name: replica_sets_ese_misc
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_auth_0
distros:
@@ -10652,6 +10674,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_auth
distros:
@@ -10764,6 +10787,7 @@ buildvariants:
- name: replica_sets
- name: replica_sets_jscore_passthrough
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -10923,6 +10947,7 @@ buildvariants:
- name: rollback_fuzzer_unclean_shutdowns
- name: serial_run
- name: session_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_gle_auth_basics_passthrough
@@ -11748,6 +11773,7 @@ buildvariants:
- rhel62-large
- name: sasl
- name: session_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_0
@@ -12764,6 +12790,7 @@ buildvariants:
- name: retryable_writes_jscore_passthrough
- name: sasl
- name: session_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -12994,6 +13021,7 @@ buildvariants:
- name: sharding_auth
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
- name: sharding_last_stable_mongos_and_mixed_shards
@@ -13097,6 +13125,7 @@ buildvariants:
- name: replica_sets
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding
- name: sharding_auth
@@ -13203,6 +13232,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -13316,6 +13346,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -13422,6 +13453,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -13818,6 +13850,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -13928,6 +13961,7 @@ buildvariants:
- name: sharding_last_stable_mongos_and_mixed_shards
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
- name: ssl
@@ -14246,6 +14280,7 @@ buildvariants:
- name: sharding_last_stable_mongos_and_mixed_shards
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
@@ -14387,6 +14422,7 @@ buildvariants:
- name: rollback_fuzzer
- name: sasl
- name: session_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_core_txns
- name: sharded_collections_jscore_passthrough
- name: sharding
@@ -14727,6 +14763,7 @@ buildvariants:
- name: sharding_op_query
- name: slow1
- name: serial_run
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding_jscore_passthrough
@@ -14803,6 +14840,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -14905,6 +14943,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -15058,6 +15097,7 @@ buildvariants:
- name: retryable_writes_jscore_stepdown_passthrough
- name: sasl
- name: session_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -15245,6 +15285,7 @@ buildvariants:
- name: retryable_writes_jscore_stepdown_passthrough
- name: sasl
- name: session_jscore_passthrough
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding
@@ -15390,6 +15431,7 @@ buildvariants:
- name: replica_sets_initsync_static_jscore_passthrough
- name: replica_sets_kill_secondaries_jscore_passthrough
- name: sasl
+ - name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharded_core_txns
- name: sharding