diff options
author | Pierlauro Sciarelli <pierlauro.sciarelli@mongodb.com> | 2021-05-25 16:55:13 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-05-27 08:53:41 +0000 |
commit | 02ddff877e99c13a377a9a34ca0ec1eff4f0b74d (patch) | |
tree | 54b16d7bbc4d8401b3689a2192c95c96dbb4dc1c /jstests/concurrency | |
parent | c0ee92711a554fa75d90a0a98dc5c875296a1a66 (diff) | |
download | mongo-02ddff877e99c13a377a9a34ca0ec1eff4f0b74d.tar.gz |
SERVER-55232 Review blacklisted rename tests
Diffstat (limited to 'jstests/concurrency')
10 files changed, 48 insertions, 10 deletions
diff --git a/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js b/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js index 1ed1ada4eff..1d60cdbb65c 100644 --- a/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js +++ b/jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js @@ -5,6 +5,7 @@ * and verifies guarantees are not broken. * * @tags: [ + * requires_fcv_50, * requires_sharding, * assumes_balancer_off, * assumes_autosplit_off, @@ -15,8 +16,6 @@ * does_not_support_stepdowns, * # Can be removed once PM-1965-Milestone-1 is completed. * does_not_support_transactions, - * # TODO (SERVER-57031): remove tag once 5.0 branches out - * multiversion_incompatible, * featureFlagShardingFullDDLSupport * ] */ diff --git a/jstests/concurrency/fsm_workloads/random_DDL_operations.js b/jstests/concurrency/fsm_workloads/random_DDL_operations.js index fbe41a498ff..6603f4e84b8 100644 --- a/jstests/concurrency/fsm_workloads/random_DDL_operations.js +++ b/jstests/concurrency/fsm_workloads/random_DDL_operations.js @@ -4,11 +4,10 @@ * Concurrently performs DDL commands and verifies guarantees are not broken. * * @tags: [ + * requires_fcv_50, * requires_sharding, * # TODO (SERVER-56879): Support add/remove shards in new DDL paths * does_not_support_add_remove_shards, - * # TODO (SERVER-57031): remove tag once 5.0 branches out - * multiversion_incompatible, * featureFlagShardingFullDDLSupport, * ] */ diff --git a/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_chain.js b/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_chain.js index 37f80dd4d5e..5110802cd20 100644 --- a/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_chain.js +++ b/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_chain.js @@ -7,7 +7,11 @@ * command against it, specifying a different database name in the namespace. * The previous "to" namespace is used as the next "from" namespace. * - * @tags: [requires_capped] + * @tags: [ + * # Rename between DBs with different shard primary is not supported + * assumes_unsharded_collection, + * requires_capped, + * ] */ var $config = (function() { diff --git a/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_droptarget.js b/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_droptarget.js index 686fd34e23c..8933f45b124 100644 --- a/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_droptarget.js +++ b/jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_droptarget.js @@ -8,6 +8,8 @@ * Inserts documents into the "to" namespace and specifies dropTarget=true. * * @tags: [ + * # Rename between DBs with different shard primary is not supported + * assumes_unsharded_collection, * requires_capped, * ] */ diff --git a/jstests/concurrency/fsm_workloads/rename_capped_collection_droptarget.js b/jstests/concurrency/fsm_workloads/rename_capped_collection_droptarget.js index 90adf57a0e6..f27afe51208 100644 --- a/jstests/concurrency/fsm_workloads/rename_capped_collection_droptarget.js +++ b/jstests/concurrency/fsm_workloads/rename_capped_collection_droptarget.js @@ -57,7 +57,11 @@ var $config = (function() { // after the rename occurs var res = db[this.fromCollName].renameCollection(this.toCollName, true /* dropTarget */); - assertWhenOwnDB.commandWorked(res); + + // SERVER-57128: NamespaceNotFound is an acceptable error if the mongos retries + // the rename after the coordinator has already fulfilled the original request + assertWhenOwnDB.commandWorkedOrFailedWithCode(res, ErrorCodes.NamespaceNotFound); + assertWhenOwnDB(db[this.toCollName].isCapped()); assertWhenOwnDB.eq(fromCollCount, db[this.toCollName].find().itcount()); assertWhenOwnDB.eq(0, db[this.fromCollName].find().itcount()); diff --git a/jstests/concurrency/fsm_workloads/rename_collection_chain.js b/jstests/concurrency/fsm_workloads/rename_collection_chain.js index cf2f6f49424..aa9399f3544 100644 --- a/jstests/concurrency/fsm_workloads/rename_collection_chain.js +++ b/jstests/concurrency/fsm_workloads/rename_collection_chain.js @@ -6,6 +6,11 @@ * Creates a collection and then repeatedly executes the renameCollection * command against it. The previous "to" namespace is used as the next "from" * namespace. + * + * @tags: [ + * # TODO SERVER-57128: remove the following tag once mongos retries will be resilient + * assumes_unsharded_collection, + * ] */ var $config = (function() { @@ -29,7 +34,11 @@ var $config = (function() { function rename(db, collName) { var toCollName = uniqueCollectionName(this.prefix, this.tid, this.num++); var res = db[this.fromCollName].renameCollection(toCollName, false /* dropTarget */); - assertWhenOwnDB.commandWorked(res); + + // SERVER-57128: NamespaceNotFound is an acceptable error if the mongos retries + // the rename after the coordinator has already fulfilled the original request + assertWhenOwnDB.commandWorkedOrFailedWithCode(res, ErrorCodes.NamespaceNotFound); + this.fromCollName = toCollName; } diff --git a/jstests/concurrency/fsm_workloads/rename_collection_dbname_chain.js b/jstests/concurrency/fsm_workloads/rename_collection_dbname_chain.js index b4590248622..e12bc1e4eef 100644 --- a/jstests/concurrency/fsm_workloads/rename_collection_dbname_chain.js +++ b/jstests/concurrency/fsm_workloads/rename_collection_dbname_chain.js @@ -6,6 +6,11 @@ * Creates a collection and then repeatedly executes the renameCollection * command against it, specifying a different database name in the namespace. * The previous "to" namespace is used as the next "from" namespace. + * + * @tags: [ + * # Rename between DBs with different shard primary is not supported + * assumes_unsharded_collection, + * ] */ var $config = (function() { diff --git a/jstests/concurrency/fsm_workloads/rename_collection_dbname_droptarget.js b/jstests/concurrency/fsm_workloads/rename_collection_dbname_droptarget.js index 7a7c133b1fc..51b6a82ec9d 100644 --- a/jstests/concurrency/fsm_workloads/rename_collection_dbname_droptarget.js +++ b/jstests/concurrency/fsm_workloads/rename_collection_dbname_droptarget.js @@ -6,6 +6,10 @@ * Creates a collection and then repeatedly executes the renameCollection * command against it, specifying a different database name in the namespace. * Inserts documents into the "to" namespace and specifies dropTarget=true. + * @tags: [ + * # Rename between DBs with different shard primary is not supported + * assumes_unsharded_collection, + * ] */ var $config = (function() { diff --git a/jstests/concurrency/fsm_workloads/rename_collection_droptarget.js b/jstests/concurrency/fsm_workloads/rename_collection_droptarget.js index 140b8dc5dde..281fe78a19d 100644 --- a/jstests/concurrency/fsm_workloads/rename_collection_droptarget.js +++ b/jstests/concurrency/fsm_workloads/rename_collection_droptarget.js @@ -6,6 +6,11 @@ * Creates a collection and then repeatedly executes the renameCollection * command against it. Inserts documents into the "to" namespace and specifies * dropTarget=true. + * + * @tags: [ + * # TODO SERVER-57128: remove the following tag once mongos retries will be resilient + * assumes_unsharded_collection, + * ] */ var $config = (function() { @@ -51,7 +56,15 @@ var $config = (function() { // after the rename occurs var res = db[this.fromCollName].renameCollection(this.toCollName, true /* dropTarget */); - assertWhenOwnDB.commandWorked(res); + try { + assertWhenOwnDB.commandWorked(res); + } catch (e) { + // SERVER-57128: NamespaceNotFound is an acceptable error if the mongos retries + // the rename after the coordinator has already fulfilled the original request + if (e.code != ErrorCodes.NamespaceNotFound) { + throw e; + } + } assertWhenOwnDB.eq(fromCollCount, db[this.toCollName].find().itcount()); assertWhenOwnDB.eq(0, db[this.fromCollName].find().itcount()); diff --git a/jstests/concurrency/fsm_workloads/rename_sharded_collection.js b/jstests/concurrency/fsm_workloads/rename_sharded_collection.js index 2bf447e71a3..cb924ca008c 100644 --- a/jstests/concurrency/fsm_workloads/rename_sharded_collection.js +++ b/jstests/concurrency/fsm_workloads/rename_sharded_collection.js @@ -11,13 +11,12 @@ * concurrency * * @tags: [ + * requires_fcv_50, * requires_sharding, * # TODO (SERVER-56879): Support add/remove shards in new DDL paths * does_not_support_add_remove_shards, * # This test just performs rename operations that can't be executed in transactions * does_not_support_transactions, - * # TODO (SERVER-57031): remove tag once 5.0 branches out - * multiversion_incompatible, * # Can be removed once PM-1965-Milestone-1 is completed. * featureFlagShardingFullDDLSupport * ] |