summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/suites/change_streams_whole_db_secondary_reads_passthrough.yml
blob: 96332cfe4635a1a09c42e9d06b5b07be0dda6fc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
test_kind: js_test

selector:
  roots:
  - jstests/change_streams/**/*.js
  exclude_files:
  # This test starts a parallel shell which we want to read from the same node as the change stream,
  # but the parallel shell performs an insert which will not work against the secondary.
  - jstests/change_streams/only_wake_getmore_for_relevant_changes.js
  # This test is not expected to work when run against a mongos.
  - jstests/change_streams/report_latest_observed_oplog_timestamp.js
  exclude_with_any_tags:
  ##
  # The next three 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 read concern of command: ..."
  - assumes_read_concern_unchanged
  # "Cowardly refusing to override write concern of command: ..."
  - assumes_write_concern_unchanged
  # "Cowardly refusing to run test with overridden write concern when it uses a command that can
  #  only perform w=1 writes: ..."
  - requires_eval_command
  ##
  # The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
  # override when it refuses to replace the readPreference of a particular command. Above each tag
  # are the message(s) that cause the tag to be warranted.
  ##
  # "Cowardly refusing to override read preference of command: ..."
  # "Cowardly refusing to run test with overridden read preference when it reads from a
  #  non-replicated collection: ..."
  - assumes_read_preference_unchanged
  # Transactions not supported on sharded cluster.
  - uses_transactions

executor:
  archive:
    hooks:
      - CheckReplDBHash
      - ValidateCollections
  config:
    shell_options:
      global_vars:
        TestData:
          defaultReadConcernLevel: majority
      eval: >-
        var testingReplication = true;
        load('jstests/libs/override_methods/set_read_and_write_concerns.js');
        load('jstests/libs/override_methods/set_read_preference_secondary.js');
        load('jstests/libs/override_methods/implicit_whole_db_changestreams.js');
  hooks:
  - class: CheckReplDBHash
  - class: ValidateCollections
  - class: CleanEveryN
    n: 20
  fixture:
    class: ShardedClusterFixture
    mongos_options:
      set_parameters:
        enableTestCommands: 1
        logComponentVerbosity:
          verbosity: 0
          command: 1
          network:
            verbosity: 1
            asio: 2
          tracking: 0
    mongod_options:
      nopreallocj: ''
      set_parameters:
        enableTestCommands: 1
        logComponentVerbosity:
          verbosity: 0
          command: 1
          query: 1
          replication: 3
        numInitialSyncAttempts: 1
    # This suite requires w:"majority" writes to be applied on all shard secondaries.
    # By setting shards to two node replsets and having secondaries vote, the majority
    # is all voting nodes. TODO: use causal consistency instead (SERVER-32791).
    num_rs_nodes_per_shard: 2
    shard_options:
      voting_secondaries: true