summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/suites/retryable_writes_jscore_passthrough.yml
blob: b0006809d7ea7277456cfbe23e894323ad1837e9 (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
test_kind: js_test

selector:
  roots:
  - jstests/core/**/*.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/profile_write_conflict.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

  # 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