summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/matrix_suites/overrides/replica_sets_stepdown_selector.yml
blob: cca7e08ed840aac4511f4fec754a679e81dde8ff (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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# All the selector overrides for replica sets stepdown suites.

- name: kill_primary_jscore_passthrough_exclude_files
  value:
    selector:
      exclude_files:
        # Transactions do not support retryability of individual operations.
        # TODO: Remove this once it is supported (SERVER-33952).
        - jstests/core/txns/**/*.js

        # No-op retries are not ignored by top, the profiler, or opcount.
        - jstests/core/**/operation_latency_histogram.js
        - jstests/core/**/profile2.js
        - jstests/core/**/profile3.js
        - jstests/core/**/profile_findandmodify.js
        - jstests/core/**/top.js
        - jstests/core/views/views_stats.js

        # TODO SERVER-31242: findAndModify no-op retry should respect the fields option.
        - jstests/core/**/crud_api.js
        - jstests/core/**/find_and_modify.js
        - jstests/core/**/find_and_modify2.js
        - jstests/core/**/find_and_modify_server6865.js
        - jstests/core/**/project_with_collation.js

        # Stepdown commands during fsync lock will fail.
        - jstests/core/**/currentop.js
        - jstests/core/**/fsync.js
        - jstests/core/**/killop_drop_collection.js

        # Expect drops/creates to fail or have a certain response:
        - jstests/core/**/explain_upsert.js
        - jstests/core/**/indexes_multiple_commands.js

        # Expect certain responses, but retries of successfully completed commands may return
        # different values:
        - jstests/core/**/create_indexes.js
        - jstests/core/**/objid5.js

        # Expect results to return in a certain order, secondaries may apply ops out of order.
        - jstests/core/**/coveredIndex1.js
        - jstests/core/**/sortc.js

        - jstests/core/**/bench_test*.js # benchRun() used for writes
        - jstests/core/**/benchrun_pipeline_updates.js # benchRun() used for writes
        - jstests/core/**/connection_string_validation.js # Does not expect a replica set connection string.
        - jstests/core/**/explain_large_bounds.js # Stepdown can timeout waiting for global lock.
        - jstests/core/**/list_collections_filter.js # Temporary collections are dropped on failover.
        - jstests/core/**/startup_log.js # Checks pid, which is different on each server.

        # Creates new mongo connection but won't retry connecting.
        - jstests/core/**/shell_connection_strings.js

        # Inserts enough data that recovery takes more than 8 seconds, so we never get a working primary.
        - jstests/core/**/geo_s2ordering.js
        - jstests/fle2/**/*.js
        - src/mongo/db/modules/*/jstests/fle2/**/*.js


- name: reconfig_kill_primary_jscore_passthrough_exclude_files
  value:
    selector:
      exclude_files:
        # Transactions do not support retryability of individual operations.
        # TODO: Remove this once it is supported (SERVER-33952).
        - jstests/core/txns/**/*.js
        # The set_param1.js test attempts to compare the response from running the {getParameter: "*"}
        # command multiple times, which may observe the change to the "transactionLifetimeLimitSeconds"
        # server parameter.
        - jstests/core/**/set_param1.js

        # No-op retries are not ignored by top, the profiler, or opcount.
        - jstests/core/**/operation_latency_histogram.js
        - jstests/core/**/profile2.js
        - jstests/core/**/profile3.js
        - jstests/core/**/profile_findandmodify.js
        - jstests/core/**/top.js
        - jstests/core/views/views_stats.js

        # TODO SERVER-31242: findAndModify no-op retry should respect the fields option.
        - jstests/core/**/crud_api.js
        - jstests/core/**/find_and_modify.js
        - jstests/core/**/find_and_modify2.js
        - jstests/core/**/find_and_modify_pipeline_update.js
        - jstests/core/**/find_and_modify_server6865.js
        - jstests/core/**/project_with_collation.js

        # These test run commands using legacy queries, which are not supported on sessions.
        - jstests/core/**/comment_field.js
        - jstests/core/**/exhaust.js

        # Stepdown commands during fsync lock will fail.
        - jstests/core/**/currentop.js
        - jstests/core/**/fsync.js
        - jstests/core/**/killop_drop_collection.js

        # Spawns new mongo shells, which don't retry connecting on stepdown errors.
        - jstests/core/**/shell_connection_strings.js

        # Expect drops/creates to fail or have a certain response:
        - jstests/core/**/explain_upsert.js
        - jstests/core/**/indexes_multiple_commands.js

        # Expect certain responses, but retries of successfully completed commands may return
        # different values:
        - jstests/core/**/create_indexes.js
        - jstests/core/**/objid5.js

        # Unacknowledged writes prohibited in an explicit session.
        - jstests/core/**/batch_write_command_w0.js

        - jstests/core/**/bench_test*.js # benchRun() used for writes
        - jstests/core/**/benchrun_pipeline_updates.js # benchRun() used for writes
        - jstests/core/**/connection_string_validation.js # Does not expect a replica set connection string.
        - jstests/core/**/list_collections_filter.js # Temporary collections are dropped on failover.
        - jstests/core/**/top.js # Tests read commands (including getMore) against the secondary
        - jstests/core/**/drop3.js # getMore is not causally consistent if collection is dropped
        - jstests/core/**/list_collections_filter.js # Temporary collections are dropped on failover.
        - jstests/core/**/explain_large_bounds.js # Stepdown can timeout waiting for global lock.

        # Tests that fail for Causal Consistency as they have statements that do not support
        # non-local read concern.
        - jstests/core/**/collation.js

        # Inserts enough data that recovery takes more than 8 seconds, so we never get a working primary.
        - jstests/core/**/geo_s2ordering.js
        - jstests/fle2/**/*.js
        - src/mongo/db/modules/*/jstests/fle2/**/*.js


- name: kill_primary_jscore_passthrough_exclude_with_any_tags
  value:
    selector:
      exclude_with_any_tags:
        - assumes_standalone_mongod
        ##
        # The next four tags correspond to the special errors thrown by the auto_retry_on_network_error.js
        # override when it refuses to run a certain command. Above each tag are the message(s) that cause
        # the tag to be warranted.
        ##
        # "Refusing to run a test that issues a getMore command since if a network error occurs during
        #   it then we won't know whether the cursor was advanced or not"
        - requires_getmore
        # "Refusing to run a test that issues non-retryable write operations since the test likely makes
        #   assertions on the write results and can lead to spurious failures if a network error occurs"
        - requires_non_retryable_writes
        # "Refusing to run a test that issues commands that are not blindly retryable"
        # "Refusing to run a test that issues an aggregation command with $out because it is not
        #   retryable"
        - requires_non_retryable_commands
        # "Refusing to run a test that issues commands that may return different values after a failover"
        # "Refusing to run a test that issues an aggregation command with explain because it may return
        #   incomplete results"
        # "Refusing to run a test that issues an aggregation command with
        #   $listLocalSessions because it relies on in-memory state that may not survive failovers"
        # "Refusing to run a test that issues a mapReduce command, because it calls std::terminate() if
        #   interrupted by a stepdown"
        - does_not_support_stepdowns
        ##
        # 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
        ##
        # The next three tags corresponds to the special errors thrown by the
        # fail_unclean_shutdown_incompatible_commands.js override when it refuses to run commands that are
        # inaccurate after an unclean shutdown. Above each tag is the message that causes the tag to be
        # warranted.
        ##
        # "Cowardly fail if fastcount is run with a mongod that had an unclean shutdown: ..."
        - requires_fastcount
        # "Cowardly fail if dbStats is run with a mongod that had an unclean shutdown: ..."
        - requires_dbstats
        # "Cowardly fail if collStats is run with a mongod that had an unclean shutdown: ..."
        - requires_collstats
        # "Cowardly fail if unbounded dataSize is run with a mongod that had an unclean shutdown: ..."
        - requires_datasize
        ## 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