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 roleGraphInvalidationIsFatal: 1 num_nodes: 5 linear_chain: true