summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/suites/concurrency_replication_causal_consistency_ubsan.yml
blob: 71fcdccb0cc8ac06a688f6fc9950a02cb8587a15 (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
test_kind: fsm_workload_test

selector:
  roots:
  - jstests/concurrency/fsm_workloads/**/*.js
  exclude_files:
  ##
  # Disabled due to MongoDB restrictions and/or workload restrictions
  ##
  # These workloads use >100MB of data, which can overwhelm test hosts.
  - jstests/concurrency/fsm_workloads/agg_group_external.js
  - jstests/concurrency/fsm_workloads/agg_sort_external.js

  # The findAndModify_update_grow.js workload can cause OOM kills on test hosts.
  - jstests/concurrency/fsm_workloads/findAndModify_update_grow.js

  # These workloads run the reIndex command, which is only allowed on a standalone node.
  - jstests/concurrency/fsm_workloads/reindex.js
  - jstests/concurrency/fsm_workloads/reindex_background.js
  - jstests/concurrency/fsm_workloads/reindex_writeconflict.js

  exclude_with_any_tags:
  - does_not_support_causal_consistency
  - uses_transactions
  # collStats is not causally consistent
  - requires_collstats
  - requires_dbstats
  - requires_datasize
  - requires_sharding
  # Tests which use $currentOp. Running an aggregation with $currentOp and read preference
  # secondary doesn't make much sense, since there's no guarantee *which* secondary you get results
  # from.
  - uses_curop_agg_stage
  # The system.profile collection is not replicated, so these tests are incompatible with
  # readPreference secondary.
  - requires_profiling

executor:
  archive:
    hooks:
      - CheckReplDBHash
      - ValidateCollections
    tests: true
  config:
    shell_options:
      global_vars:
        TestData:
          pinningSecondary: true
          runningWithCausalConsistency: 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.
  #
  # TODO SERVER-26466: Add CheckReplOplogs hook to the concurrency suite.
  - class: CheckReplDBHash
  - class: ValidateCollections
  - class: CleanEveryN
    n: 1
  fixture:
    class: ReplicaSetFixture
    mongod_options:
      oplogSize: 1024
      set_parameters:
        enableTestCommands: 1
        # Allow many initial sync attempts. Initial sync may fail if the sync source does not have
        # an oplog yet because it has not conducted its own initial sync yet.
        numInitialSyncAttempts: 10000000
        queryAnalysisSamplerConfigurationRefreshSecs: 1
        queryAnalysisWriterIntervalSecs: 1
        roleGraphInvalidationIsFatal: 1
    num_nodes: 5
    linear_chain: true