summaryrefslogtreecommitdiff
path: root/buildscripts/resmokeconfig/suites
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/resmokeconfig/suites')
-rw-r--r--buildscripts/resmokeconfig/suites/shard_merge_jscore_passthrough.yml131
-rw-r--r--buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml2
-rw-r--r--buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml2
-rw-r--r--buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml2
-rw-r--r--buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml2
-rw-r--r--buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml2
-rw-r--r--buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml2
7 files changed, 131 insertions, 12 deletions
diff --git a/buildscripts/resmokeconfig/suites/shard_merge_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/shard_merge_jscore_passthrough.yml
new file mode 100644
index 00000000000..1aeaae20f8c
--- /dev/null
+++ b/buildscripts/resmokeconfig/suites/shard_merge_jscore_passthrough.yml
@@ -0,0 +1,131 @@
+config_variables:
+- &keyFile jstests/libs/authTestsKey
+- &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly
+- &authOptions
+ authenticationDatabase: admin
+ authenticationMechanism: SCRAM-SHA-256
+ password: *keyFileData
+ username: __system
+
+test_kind: js_test
+
+selector:
+ roots:
+ - jstests/core/**/*.js
+ exclude_files:
+ - jstests/core/txns/**/*.js
+ # Skip any tests that run with auth explicitly.
+ - jstests/core/*[aA]uth*.js
+
+ exclude_with_any_tags:
+ - assumes_standalone_mongod
+ # These tests run getMore commands which are not supported in the tenant migration passthrough.
+ - requires_getmore
+ # Due to background tenant migrations, operations in the main test shell are not guaranteed to
+ # be causally consistent with operations in a parallel shell. The reason is that
+ # TenantMigrationCommitted error is only thrown when the client does a write or a atClusterTime/
+ # afterClusterTime or linearlizable read. Therefore, one of shell may not be aware that the
+ # migration has occurred and would not forward the read/write command to the right replica set.
+ - uses_parallel_shell
+ # Profile settings are stored in-memory only so are not transferred to the recipient.
+ - requires_profiling
+ # capped collections are banned in Serverless
+ - requires_capped
+ # emptycapped command is blocked during tenant migration.
+ - requires_emptycapped
+ # Multi-updates that conflict with tenant migration are not retried by inject_tenant_prefix.js.
+ - requires_multi_updates
+ # Full validation can cause ongoing queries to fail. This can affect the tenant migration
+ # process.
+ - uses_full_validation
+ - tenant_migration_incompatible
+ - requires_timeseries # Tenant migration not supported
+ - requires_fastcount
+
+executor:
+ archive:
+ tests: true
+ hooks:
+ - CheckReplDBHash
+ - CheckReplOplogs
+ - ValidateCollections
+ config:
+ shell_options:
+ eval: >-
+ testingReplication = true;
+ load('jstests/libs/override_methods/inject_tenant_prefix.js');
+ jsTest.authenticate(db.getMongo());
+ global_vars:
+ TestData: &TestData
+ # TODO SERVER-69034 : replace tenantId with tenantIds.
+ tenantId: "tenantMigrationTenantId"
+ auth: true
+ authMechanism: SCRAM-SHA-256
+ keyFile: *keyFile
+ keyFileData: *keyFileData
+ roleGraphInvalidationIsFatal: true
+ # TODO SERVER-68643 No longer needed when we only use shard merge protocol.
+ useLocalDBForDBCheck: true
+ # Shard Merge does not support fastcount. When we call CheckTenantMigrationDBHash after
+ # each migration we would potentially fail when enforcing using the fast count during that
+ # process.
+ skipEnforceFastCountOnValidate: true
+ hooks:
+ - class: ContinuousShardMerge
+ shell_options:
+ global_vars:
+ TestData:
+ <<: *TestData
+ authOptions: *authOptions
+ # 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: CheckReplOplogs
+ shell_options:
+ global_vars:
+ TestData: *TestData
+ - class: CheckReplDBHash
+ shell_options:
+ global_vars:
+ TestData: *TestData
+ - class: ValidateCollections
+ shell_options:
+ global_vars:
+ TestData: *TestData
+ - class: CleanEveryN
+ n: 20
+ fixture:
+ class: ShardMergeFixture
+ common_mongod_options:
+ set_parameters:
+ enableTestCommands: 1
+ failpoint.abortTenantMigrationBeforeLeavingBlockingState:
+ mode:
+ activationProbability: 0.5
+ failpoint.pauseTenantMigrationBeforeLeavingBlockingState:
+ mode: alwaysOn
+ data:
+ blockTimeMS: 250
+ # To avoid routing commands in each test incorrectly, the ContinuousShardMerge hook
+ # only runs donorForgetMigration against the donor of each migration when it is safe to do
+ # so. Therefore, the garbage collection delay doesn't need to be large.
+ tenantMigrationGarbageCollectionDelayMS: 1
+ ttlMonitorSleepSecs: 1
+ # Tenant migrations is not currently compatible with implicitly replicated retryable
+ # findAndModify images.
+ storeFindAndModifyImagesInSideCollection: false
+ minSnapshotHistoryWindowInSeconds: 30
+ tlsMode: allowTLS
+ tlsCAFile: jstests/libs/ca.pem
+ tlsAllowInvalidHostnames: ''
+ auth: ''
+ keyFile: *keyFile
+ syncdelay: 1
+ per_mongod_options:
+ # Each entry is for a different replica set's extra mongod options.
+ - tlsCertificateKeyFile: jstests/libs/rs0.pem
+ - tlsCertificateKeyFile: jstests/libs/rs1.pem
+ num_replica_sets: 2
+ num_nodes_per_replica_set: 3
+ use_replica_set_connection_string: true
+ auth_options: *authOptions
diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml
index d2361171250..92f487b9a5b 100644
--- a/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml
+++ b/buildscripts/resmokeconfig/suites/tenant_migration_causally_consistent_jscore_passthrough.yml
@@ -91,8 +91,6 @@ executor:
keyFile: *keyFile
keyFileData: *keyFileData
roleGraphInvalidationIsFatal: true
- # TODO SERVER-67860: remove the ignoreShardMergeFeatureFlag
- ignoreShardMergeFeatureFlag: true # overrides the featureFlagShardMerge
hooks:
- class: ContinuousTenantMigration
shell_options:
diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml
index 7eed50054a0..b026e57b6ac 100644
--- a/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml
+++ b/buildscripts/resmokeconfig/suites/tenant_migration_jscore_passthrough.yml
@@ -62,8 +62,6 @@ executor:
keyFile: *keyFile
keyFileData: *keyFileData
roleGraphInvalidationIsFatal: true
- # TODO SERVER-66147: remove the ignoreShardMergeFeatureFlag
- ignoreShardMergeFeatureFlag: true # overrides the featureFlagShardMerge
hooks:
- class: ContinuousTenantMigration
shell_options:
diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml
index 85576413baf..45dba58bf3c 100644
--- a/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml
+++ b/buildscripts/resmokeconfig/suites/tenant_migration_kill_primary_jscore_passthrough.yml
@@ -184,8 +184,6 @@ executor:
readPreference:
mode: "primary"
retryWrites: true
- # TODO SERVER-68643: remove the ignoreShardMergeFeatureFlag
- ignoreShardMergeFeatureFlag: true # overrides the featureFlagShardMerge
# We specify nodb so the shell used by each test will attempt to connect after loading the
# retry logic in auto_retry_on_network_error.js.
nodb: ""
diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml
index cbf36bb2b23..82a680d0e0d 100644
--- a/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml
+++ b/buildscripts/resmokeconfig/suites/tenant_migration_multi_stmt_txn_jscore_passthrough.yml
@@ -282,8 +282,6 @@ executor:
# Tests in this suite only read from primaries and only one node is electable, so causal
# consistency is not required to read your own writes.
causalConsistency: false
- # TODO SERVER-67860: remove the ignoreShardMergeFeatureFlag
- ignoreShardMergeFeatureFlag: true # overrides the featureFlagShardMerge
hooks:
- class: ContinuousTenantMigration
shell_options:
diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml
index 1911b9782b8..f3946ff0211 100644
--- a/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml
+++ b/buildscripts/resmokeconfig/suites/tenant_migration_stepdown_jscore_passthrough.yml
@@ -174,8 +174,6 @@ executor:
readPreference:
mode: "primary"
retryWrites: true
- # TODO SERVER-68643: remove the ignoreShardMergeFeatureFlag
- ignoreShardMergeFeatureFlag: true # overrides the featureFlagShardMerge
# We specify nodb so the shell used by each test will attempt to connect after loading the
# retry logic in auto_retry_on_network_error.js.
nodb: ""
diff --git a/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml
index 12930d5debf..2aa00ffca65 100644
--- a/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml
+++ b/buildscripts/resmokeconfig/suites/tenant_migration_terminate_primary_jscore_passthrough.yml
@@ -174,8 +174,6 @@ executor:
readPreference:
mode: "primary"
retryWrites: true
- # TODO SERVER-68643: remove the ignoreShardMergeFeatureFlag
- ignoreShardMergeFeatureFlag: true # overrides the featureFlagShardMerge
# We specify nodb so the shell used by each test will attempt to connect after loading the
# retry logic in auto_retry_on_network_error.js.
nodb: ""