diff options
Diffstat (limited to 'buildscripts/resmokeconfig/suites')
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: "" |