summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/suites/change_streams_v2_resume_token_passthrough.yml
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/resmokeconfig/suites/change_streams_v2_resume_token_passthrough.yml')
-rw-r--r--buildscripts/resmokeconfig/suites/change_streams_v2_resume_token_passthrough.yml59
1 files changed, 59 insertions, 0 deletions
diff --git a/buildscripts/resmokeconfig/suites/change_streams_v2_resume_token_passthrough.yml b/buildscripts/resmokeconfig/suites/change_streams_v2_resume_token_passthrough.yml
new file mode 100644
index 00000000000..4179f872b7f
--- /dev/null
+++ b/buildscripts/resmokeconfig/suites/change_streams_v2_resume_token_passthrough.yml
@@ -0,0 +1,59 @@
+test_kind: js_test
+# TODO SERVER-65370: remove this suite when v2 tokens become the default, or rework it to test v1.
+selector:
+ roots:
+ - jstests/change_streams/**/*.js
+ exclude_files:
+ # This test explicitly compares v1 and v2 tokens, and must be able to generate the former.
+ - jstests/change_streams/generate_v2_resume_token.js
+ exclude_with_any_tags:
+ ##
+ # The next tags correspond to the special errors thrown by the
+ # set_read_and_write_concerns.js override when it refuses to replace the readConcern or
+ # writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
+ # warranted.
+ ##
+ # "Cowardly refusing to override write concern of command: ..."
+ - assumes_write_concern_unchanged
+
+executor:
+ archive:
+ hooks:
+ - CheckReplDBHash
+ - CheckReplOplogs
+ - ValidateCollections
+ config:
+ shell_options:
+ global_vars:
+ TestData:
+ defaultReadConcernLevel: null
+ enableMajorityReadConcern: ''
+ # Enable causal consistency for change streams suites using 1 node replica sets. Some tests
+ # rely on the assumption that a w:majority write will be visible immediately in a subsequently
+ # opened change stream. In 1 node replica sets, an operation that majority commits at
+ # timestamp T will force the majority snapshot to advance to T, but the oplog visibility point
+ # may not have advanced to T yet. Subsequent majority snapshot reads will see this write in
+ # the oplog, but speculative majority reads may not, since they read from a local snapshot and
+ # are bound to the oplog visibility rules. Using causal consistency forces the visibility
+ # point to advance to the timestamp of the last write before doing a new read.
+ eval: >-
+ var testingReplication = true;
+ load('jstests/libs/override_methods/set_read_and_write_concerns.js');
+ load('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
+ load('jstests/libs/override_methods/implicit_v2_resume_token_changestreams.js');
+ hooks:
+ # The CheckReplDBHash hook waits until all operations have replicated to and have been applied
+ # on the secondaries, so we run the ValidateCollections hook after it to ensure we're
+ # validating the entire contents of the collection.
+ - class: CheckReplOplogs
+ - class: CheckReplDBHash
+ - class: ValidateCollections
+ - class: CleanEveryN
+ n: 20
+ fixture:
+ class: ReplicaSetFixture
+ mongod_options:
+ bind_ip_all: ''
+ set_parameters:
+ enableTestCommands: 1
+ num_nodes: 2