summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/suites/sharded_causally_consistent_jscore_passthrough.yml
blob: 275065eae23fc769dd1d8471213b83b8394f5653 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
test_kind: js_test
# This suite's blacklist is a sharded_collections_jscore_passthrough blacklist with some additions
# from causally_consistent_jscore_passthrough blacklist.

selector:
  roots:
  - jstests/core/**/*.js
  exclude_files:
  # In MongoDB 4.0, transactions are not supported in sharded clusters.
  - jstests/core/txns/**/*.js
  # Not expected to pass with replica-sets.
  - jstests/core/opcounters_write_cmd.js
  # The following tests fail because a certain command or functionality is not supported by
  # 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/apply_ops*.js  # applyOps, SERVER-1439.
  - jstests/core/bypass_doc_validation.js  # sharded $out output not permitted
  - jstests/core/capped*.js  # capped collections.
  - 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/collmod_without_uuid.js # applyOps, SERVER-1439
  - jstests/core/dbadmin.js  # "local" database.
  - jstests/core/dbhash.js  # dbhash.
  - jstests/core/dbhash2.js  # dbhash.
  - jstests/core/diagdata.js # Command not supported in mongos
  - jstests/core/dropdb_race.js  # syncdelay.
  - jstests/core/fsync.js  # uses fsync.
  - jstests/core/geo_haystack*.js  # geoSearch.
  - jstests/core/geo_update_btree2.js  # notablescan.
  - jstests/core/index_id_options.js  # "local" database.
  - jstests/core/index9.js  # "local" database.
  - jstests/core/queryoptimizera.js  # "local" database.
  - jstests/core/rename*.js # renameCollection.
  - jstests/core/stages*.js  # stageDebug.
  - jstests/core/tailable_cursor_invalidation.js # capped collections.
  - jstests/core/tailable_getmore_batch_size.js # capped collections.
  - jstests/core/tailable_skip_limit.js # capped collections.
  # 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, SERVER-18047.
  - 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().
  # Can't specify both 'afterClusterTime' and 'afterOpTime'.
  - jstests/core/read_after_optime.js
  # The following tests fail because they count indexes. These counts do not take into account the
  # additional hashed shard key indexes that are automatically added by this passthrough.
  - jstests/core/bad_index_plugin.js
  - jstests/core/create_indexes.js
  - jstests/core/list_indexes_non_existent_ns.js
  - jstests/core/mr_preserve_indexes.js
  - jstests/core/rename6.js
  # The following tests fail because they expect no databases to be created. However a DB is created
  # automatically when we shard a collection.
  - jstests/core/dbcase.js
  - jstests/core/dbcase2.js
  - jstests/core/no_db_created.js
  - jstests/core/views/*.js # Views tests aren't expected to work when collections are implicitly sharded.
  - jstests/core/killop_drop_collection.js # Uses fsyncLock.
  # mapReduce requires sharded output collections to be sharded by {_id: 1}. {_id: "hashed"} is not
  # supported.
  - jstests/core/mr_correctness.js
  - jstests/core/mr_fail_invalid_js.js
  - jstests/core/mr_scope.js
  # TODO: SERVER-30052
  - jstests/core/queryoptimizer3.js
  # Tests that need triaging & remediation | blacklist decision
  # Comments list possible problem point under review.
  - jstests/core/stages_delete.js # Uses stageDebug command for deletes.
  # Tests that fail for Causal Consistency as they have statements that do not support
  # non-local read concern.
  - jstests/core/geo_big_polygon3.js
  - jstests/core/mr*.js
  - jstests/core/collation.js
  - jstests/core/loadserverscripts.js
  - jstests/core/commands_namespace_parsing.js
  - jstests/core/constructors.js
  - jstests/core/views/views_all_commands.js
  - jstests/core/or4.js
  - jstests/core/recursion.js
  # Parallel shell is not causally consistent
  - jstests/core/benchrun_pipeline_updates.js
  - jstests/core/cursora.js
  - jstests/core/shellstartparallel.js
  # TODO SERVER-30466
  - jstests/core/explain_multi_plan.js
  - jstests/core/explain_shell_helpers.js
  - jstests/core/index_partial_read_ops.js
  - jstests/core/update_arrayFilters.js
  # The in memory structures are not causally consistent. Details are in DOCS-10626
  - jstests/core/apitest_dbcollection.js
  - jstests/core/getmore_invalidated_cursors.js
  - jstests/core/orf.js #explain.executionStats is not CC
  # The `dbstats` command builds in-memory structures that are not causally consistent.
  - jstests/core/dbstats.js

  # The tests below use applyOps, SERVER-1439.
  - jstests/core/list_collections1.js
  - jstests/core/list_collections_filter.js
  - jstests/core/rename_stayTemp.js
  - jstests/core/txns/prepare_transaction_fails_on_temp_collections.js

  exclude_with_any_tags:
  # Tests tagged with the following will fail because they assume collections are not sharded.
  - assumes_against_mongod_not_mongos
  - assumes_no_implicit_collection_creation_after_drop
  - assumes_no_implicit_index_creation
  - assumes_unsharded_collection
  - cannot_create_unique_index_when_using_hashed_shard_key
  ##
  # 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
  # system.profile collection doesn't exist on mongos.
  - requires_profiling

executor:
  archive:
    hooks:
      - CheckReplDBHashInBackground
      - CheckReplDBHash
      - ValidateCollections
  config:
    shell_options:
      eval: |
         load("jstests/libs/override_methods/enable_causal_consistency.js");
         load("jstests/libs/override_methods/implicitly_shard_accessed_collections.js");
      readMode: commands
  hooks:
  - class: CheckReplDBHashInBackground
  - class: CheckReplDBHash
  - class: ValidateCollections
  - class: CleanEveryN
    n: 20
  fixture:
    class: ShardedClusterFixture
    mongos_options:
      set_parameters:
        enableTestCommands: 1
        logComponentVerbosity:
          command: 1
          network:
            verbosity: 1
            asio: 2
    mongod_options:
      enableMajorityReadConcern: ''
      set_parameters:
        enableTestCommands: 1
        logComponentVerbosity:
          command: 1
          network:
            verbosity: 1
            asio: 2
          replication:
            heartbeats: 2
    num_rs_nodes_per_shard: 2
    enable_sharding:
    - test