blob: 35caa128159f871a7f60666de2cfd7327959aeba (
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
|
test_kind: js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
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
# These test run commands using legacy queries, which are not supported on sessions.
- jstests/core/**/comment_field.js
- jstests/core/**/exhaust.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/**/fts_find_and_modify.js
- jstests/core/**/project_with_collation.js
# These tests rely on the assumption that an update command is run only once.
- jstests/core/**/find_and_modify_metrics.js
- jstests/core/**/update_metrics.js
# This test makes the assumption that a command is run a certain number of times, but
# the retryable writes suite overrides the runCommand to repeat commands.
- jstests/core/**/failcommand_failpoint.js
# Unacknowledged writes prohibited in an explicit session.
- jstests/core/**/batch_write_command_w0.js
exclude_with_any_tags:
- assumes_standalone_mongod
- does_not_support_causal_consistency
- does_not_support_retryable_writes
executor:
archive:
hooks:
- CheckReplDBHash
- CheckReplOplogs
- ValidateCollections
config:
shell_options:
eval: >-
testingReplication = true;
load("jstests/libs/override_methods/enable_sessions.js");
load("jstests/libs/override_methods/retry_writes_at_least_once.js");
global_vars:
TestData:
alwaysInjectTransactionNumber: true
sessionOptions:
retryWrites: true
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:
set_parameters:
enableTestCommands: 1
num_nodes: 2
|