test_kind: js_test selector: roots: - jstests/core/**/*.js exclude_files: # Has conditional logic for standalone servers and replica sets, but can't distinguish the two # when connected to mongos. - jstests/core/**/write_result.js # The following tests fail because a certain command or functionality is not supported on # mongos. This command or functionality is placed in a comment next to the failing test. - jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine - jstests/core/**/check_shard_index.js # checkShardingIndex. - jstests/core/**/collection_truncate.js # emptycapped. - jstests/core/**/compact_keeps_indexes.js # compact. - jstests/core/**/currentop.js # uses fsync. - jstests/core/**/dbhash.js # dbhash. - jstests/core/**/dbhash2.js # dbhash. - jstests/core/**/fsync.js # uses fsync. - jstests/core/**/geo_update_btree2.js # notablescan. - jstests/core/**/index9.js # "local" database. - jstests/core/**/queryoptimizera.js # "local" database. - jstests/core/**/stages*.js # stageDebug. # The following tests fail because mongos behaves differently from mongod when testing certain # functionality. The differences are in a comment next to the failing test. - jstests/core/**/explain_missing_database.js # Behavior with no db different on mongos. - jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain(). - jstests/core/**/geo_s2explain.js # inputStage in different spot in explain(). - jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate(). - jstests/core/**/killop_drop_collection.js # Uses fsyncLock. - jstests/core/**/or_to_in.js # queryPlanner in different spot in explain() # The following tests fail because of divergent dropCollection behavior between standalones and # sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters # we expect a second drop to return status OK. - jstests/core/**/explain_upsert.js # This test uses `benchRun` which spawns connections which do not inherit the causal session. - jstests/core/**/benchrun_pipeline_updates.js exclude_with_any_tags: - assumes_standalone_mongod - assumes_against_mongod_not_mongos ## # The next tag corresponds to the special error thrown by the set_read_preference_secondary.js # override when it refuses to replace the readPreference of a particular command. Above each tag # are the message(s) that cause the tag to be warranted. ## # "Cowardly refusing to override read preference of command: ..." # "Cowardly refusing to run test with overridden read preference when it reads from a # non-replicated collection: ..." - assumes_read_preference_unchanged - does_not_support_causal_consistency - requires_collstats # The system.profile collection is not replicated. So the reads from secondaries will not be # consistent with primary. - requires_profiling # Don't run these tests as transactions can only run on primaries. - uses_transactions # Parallel shell is not causally consistent because it uses a different session. - uses_parallel_shell executor: archive: hooks: - CheckReplDBHash - CheckMetadataConsistencyInBackground - ValidateCollections config: shell_options: eval: >- load("jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js"); load('jstests/libs/override_methods/enable_hedged_reads.js'); hooks: - class: CheckReplDBHash - class: CheckMetadataConsistencyInBackground - class: ValidateCollections - class: CleanEveryN n: 20 fixture: class: ShardedClusterFixture mongos_options: set_parameters: enableTestCommands: 1 logComponentVerbosity: verbosity: 0 command: 1 network: verbosity: 1 asio: 2 tracking: 0 mongod_options: enableMajorityReadConcern: '' set_parameters: enableTestCommands: 1 logComponentVerbosity: verbosity: 0 command: 1 network: verbosity: 1 asio: 2 replication: heartbeats: 2 tracking: 0 num_rs_nodes_per_shard: 3 enable_sharding: - test