test_kind: fsm_workload_test selector: roots: - jstests/concurrency/fsm_workloads/**/*.js - src/mongo/db/modules/*/jstests/concurrency/fsm_workloads/*.js exclude_files: # SERVER-13116 distinct isn't sharding aware - jstests/concurrency/fsm_workloads/distinct.js - jstests/concurrency/fsm_workloads/distinct_noindex.js - jstests/concurrency/fsm_workloads/distinct_projection.js # SERVER-14669 Multi-removes that use $where miscount removed documents - jstests/concurrency/fsm_workloads/remove_where.js # Disabled due to SERVER-33753, '.count() without a predicate can be wrong on sharded # collections'. This bug is problematic for these workloads because they assert on count() # values: - jstests/concurrency/fsm_workloads/agg_match.js # SERVER-30983 background indexes are incompatible with causal consistency - jstests/concurrency/fsm_workloads/reindex_background.js # Disabled due to MongoDB restrictions and/or workload restrictions # These workloads sometimes trigger 'Could not lock auth data update lock' # errors because the AuthorizationManager currently waits for only five # seconds to acquire the lock for authorization documents - jstests/concurrency/fsm_workloads/auth_create_role.js - jstests/concurrency/fsm_workloads/auth_create_user.js - jstests/concurrency/fsm_workloads/auth_drop_role.js - jstests/concurrency/fsm_workloads/auth_drop_user.js # 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 # compact can only be run against a standalone mongod - jstests/concurrency/fsm_workloads/compact.js - jstests/concurrency/fsm_workloads/compact_while_creating_indexes.js # convertToCapped can't be run on mongos processes - jstests/concurrency/fsm_workloads/convert_to_capped_collection.js - jstests/concurrency/fsm_workloads/convert_to_capped_collection_index.js # findAndModify requires a shard key - jstests/concurrency/fsm_workloads/findAndModify_mixed_queue_unindexed.js - jstests/concurrency/fsm_workloads/findAndModify_remove_queue_unindexed.js - jstests/concurrency/fsm_workloads/findAndModify_update_collscan.js - jstests/concurrency/fsm_workloads/findAndModify_update_queue.js - jstests/concurrency/fsm_workloads/findAndModify_update_queue_unindexed.js # remove cannot be {} for findAndModify - jstests/concurrency/fsm_workloads/findAndModify_remove_queue.js # can cause OOM kills on test hosts - jstests/concurrency/fsm_workloads/findAndModify_update_grow.js # cannot createIndex after dropDatabase without sharding first - jstests/concurrency/fsm_workloads/plan_cache_drop_database.js # reIndex is not supported in mongos. - jstests/concurrency/fsm_workloads/reindex.js - jstests/concurrency/fsm_workloads/reindex_writeconflict.js # The WTWriteConflictException failpoint is not supported on mongos. - jstests/concurrency/fsm_workloads/collmod_writeconflict.js # our .remove(query, {justOne: true}) calls lack shard keys - jstests/concurrency/fsm_workloads/remove_single_document.js # SERVER-20361 Improve the behaviour of multi-update/delete against a sharded collection - jstests/concurrency/fsm_workloads/update_where.js # cannot use upsert command with $where with sharded collections - jstests/concurrency/fsm_workloads/upsert_where.js # stagedebug can only be run against a standalone mongod - jstests/concurrency/fsm_workloads/yield_and_hashed.js - jstests/concurrency/fsm_workloads/yield_and_sorted.js # Inserts directly into system.views using applyOps, which is not available on mongos. - jstests/concurrency/fsm_workloads/view_catalog_direct_system_writes.js # Time-series collections are not supported on mongos. - jstests/concurrency/fsm_workloads/create_timeseries_collection.js # Performs finds with $where, which are slow. Because 'orphanCleanupDelaySecs' is set to 1 second, # this may cause the finds to return incomplete results. - jstests/concurrency/fsm_workloads/indexed_insert_where.js exclude_with_any_tags: - does_not_support_causal_consistency # This suite uses secondary read preference, which isn't currently compatible with transactions. - uses_transactions - assumes_balancer_off - requires_replication # 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 # mongos has no system.profile collection. - requires_profiling - assumes_unsharded_collection executor: archive: hooks: - CheckReplDBHashInBackground - CheckReplDBHash - CheckMetadataConsistencyInBackground - ValidateCollections tests: true config: shell_options: global_vars: TestData: runningWithCausalConsistency: true runningWithBalancer: true hooks: - class: CheckShardFilteringMetadata - class: CheckReplDBHashInBackground - class: CheckReplDBHash - class: CheckMetadataConsistencyInBackground - class: CheckOrphansDeleted - class: CheckRoutingTableConsistency - class: ValidateCollections # Validation can interfere with other operations, so this goes last. - class: CleanupConcurrencyWorkloads fixture: class: ShardedClusterFixture mongos_options: set_parameters: enableTestCommands: 1 queryAnalysisSamplerConfigurationRefreshSecs: 1 shard_options: mongod_options: oplogSize: 1024 mongod_options: set_parameters: enableTestCommands: 1 roleGraphInvalidationIsFatal: 1 queryAnalysisWriterIntervalSecs: 1 num_rs_nodes_per_shard: 3 num_shards: 2 num_mongos: 2