blob: 783c18a862667cd779541952b414f4712e9cac30 (
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
|
test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
exclude_files:
# TODO SERVER-68341: Implement enable/disable command for mongoQ in the serverless.
- jstests/change_streams/projection_fakes_internal_event.js
# The following test uses the 'find' method directly on 'config'.'system.preimages' collection
# while this suite enforces the tenant-specific pre-image collection for the test tenant (a.k.a.
# '000000000000000000000000_config'.'system.preimages'), which is not directly accessible
# without supporting multi-tenancy.
# TODO SERVER-67267 Add 'multitenancySupport' and inject tenant into find commands.
- jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js
# TODO SERVER-70760: This test creates its own sharded cluster and uses transaction. The support
# for transaction on multi-tenancy is not fully available. Unblock this test
# after the support is available.
- jstests/change_streams/oplog_rewrite/change_stream_basic_match_pushdown_rewrite.js
exclude_with_any_tags:
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
executor:
archive:
hooks:
- CheckReplDBHash
- ValidateCollections
config:
shell_options:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
# Enable causal consistency for change streams suites using 1 node replica sets. See
# change_streams.yml for detailed explanation.
# TODO SERVER-67267 Load 'inject_tenant_prefix.js', add 'multitenancySupport',
# 'featureFlagMongoStore' and 'featureFlagRequireTenantID' flags. The
# 'inject_tenant_prefix' should also be called for the
# 'enable_change_stream.py' file.
eval: >-
var testingReplication = true;
load('jstests/libs/override_methods/set_read_and_write_concerns.js');
load('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
load('jstests/libs/override_methods/override_fixtures_changestream_multitenancy.js');
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.
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: EnableChangeStream
fixture:
class: ReplicaSetFixture
replset_name: "ChangeStreamMultitenantReplSet"
mongod_options:
bind_ip_all: ''
serverless: true
set_parameters:
enableTestCommands: 1
featureFlagServerlessChangeStreams: true
internalChangeStreamUseTenantIdForTesting: true
# TODO SERVER-67267 Set number of nodes to 2 and pass multitenancy flags to the set_parameters.
num_nodes: 1
|