summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/suites/concurrency_simultaneous.yml
blob: 81e56d57edcca9dfbba03a44f310ee79e1d8986a (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
test_kind: parallel_fsm_workload_test

selector:
  roots:
  - jstests/concurrency/fsm_workloads/**/*.js
  exclude_files:
  # These workloads implicitly assume that their tid ranges are [0, $config.threadCount). This
  # isn't guaranteed to be true when they are run in parallel with other workloads.
  - jstests/concurrency/fsm_workloads/findAndModify_inc_pipeline.js
  - jstests/concurrency/fsm_workloads/list_indexes.js
  - jstests/concurrency/fsm_workloads/update_inc_capped.js
  - jstests/concurrency/fsm_workloads/update_inc_pipeline.js

  # These workloads uses >100MB of data, which can overwhelm test hosts.
  - jstests/concurrency/fsm_workloads/agg_group_external.js
  - jstests/concurrency/fsm_workloads/agg_sort_external.js

  # convertToCapped requires a global lock and any background operations on the database causes it
  # to fail due to not finishing quickly enough.
  - jstests/concurrency/fsm_workloads/convert_to_capped_collection.js
  - jstests/concurrency/fsm_workloads/convert_to_capped_collection_index.js

  # SERVER-30644 These tests create/drop/modify views which can deadlock on the ViewCatalog mutex if
  # there's a concurrent operation which acquires a MODE_X lock.
  - jstests/concurrency/fsm_workloads/view_catalog*.js

  # SERVER-43053 These workloads set a failpoint that causes intermittent WriteConflict errors,
  # which presently can cause other simultaneous workloads to fail.
  - jstests/concurrency/fsm_workloads/collmod_writeconflict.js
  - jstests/concurrency/fsm_workloads/reindex_writeconflict.js

  exclude_with_any_tags:
  - uses_transactions
  - requires_replication
  - requires_sharding
  group_size: 10
  group_count_multiplier: 2.5

executor:
  archive:
    hooks:
      - ValidateCollections
    tests: true
  config:
    shell_options:
      readMode: commands
  hooks:
  - class: ValidateCollections
    shell_options:
      global_vars:
        TestData:
          skipValidationOnNamespaceNotFound: false
  - class: CleanupConcurrencyWorkloads
  fixture:
    class: MongoDFixture
    mongod_options:
      set_parameters:
        # Increase the timeout of the cursor so that the cursor will continue to stay alive even
        # when there is a delay in lock acquisition during a getMore command.
        cursorTimeoutMillis: 3600000
        enableTestCommands: 1
        # We have historically had deadlocks occur due to lock acquisition issues involving the
        # system running out of WiredTiger write tickets. We intentionally lower the number of
        # WiredTiger write tickets available to below the maximum number of database clients to
        # trigger this situation at least some of the time.
        wiredTigerConcurrentWriteTransactions: 64