summaryrefslogtreecommitdiff
path: root/jstests/concurrency
diff options
context:
space:
mode:
authorPierlauro Sciarelli <pierlauro.sciarelli@mongodb.com>2021-05-25 16:55:13 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-05-27 08:53:41 +0000
commit02ddff877e99c13a377a9a34ca0ec1eff4f0b74d (patch)
tree54b16d7bbc4d8401b3689a2192c95c96dbb4dc1c /jstests/concurrency
parentc0ee92711a554fa75d90a0a98dc5c875296a1a66 (diff)
downloadmongo-02ddff877e99c13a377a9a34ca0ec1eff4f0b74d.tar.gz
SERVER-55232 Review blacklisted rename tests
Diffstat (limited to 'jstests/concurrency')
-rw-r--r--jstests/concurrency/fsm_workloads/random_DDL_CRUD_operations.js3
-rw-r--r--jstests/concurrency/fsm_workloads/random_DDL_operations.js3
-rw-r--r--jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_chain.js6
-rw-r--r--jstests/concurrency/fsm_workloads/rename_capped_collection_dbname_droptarget.js2
-rw-r--r--jstests/concurrency/fsm_workloads/rename_capped_collection_droptarget.js6
-rw-r--r--jstests/concurrency/fsm_workloads/rename_collection_chain.js11
-rw-r--r--jstests/concurrency/fsm_workloads/rename_collection_dbname_chain.js5
-rw-r--r--jstests/concurrency/fsm_workloads/rename_collection_dbname_droptarget.js4
-rw-r--r--jstests/concurrency/fsm_workloads/rename_collection_droptarget.js15
-rw-r--r--jstests/concurrency/fsm_workloads/rename_sharded_collection.js3
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
* ]