summaryrefslogtreecommitdiff
path: root/jstests/concurrency
diff options
context:
space:
mode:
authorJordi Serra Torrens <jordi.serra-torrens@mongodb.com>2023-03-20 10:36:56 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-03-20 11:11:28 +0000
commit29dec97a718571dbef8ac3ffe4c68115e5874909 (patch)
tree1c7ea2759d997f0d9fce59aed776a3437bc8abf1 /jstests/concurrency
parentec88b5c90a14434aab33f495918f038e252055fb (diff)
downloadmongo-29dec97a718571dbef8ac3ffe4c68115e5874909.tar.gz
SERVER-73778 Require all internal server data cleanup as part of FCV downgrade be completed before allowing transition to kUpgraded for sharded clusters
Diffstat (limited to 'jstests/concurrency')
-rw-r--r--jstests/concurrency/fsm_workloads/drop_database_sharded_setFCV.js9
-rw-r--r--jstests/concurrency/fsm_workloads/random_DDL_CRUD_setFCV_operations.js9
-rw-r--r--jstests/concurrency/fsm_workloads/random_DDL_setFCV_operations.js9
-rw-r--r--jstests/concurrency/fsm_workloads/random_internal_transactions_setFCV_operations.js9
4 files changed, 36 insertions, 0 deletions
diff --git a/jstests/concurrency/fsm_workloads/drop_database_sharded_setFCV.js b/jstests/concurrency/fsm_workloads/drop_database_sharded_setFCV.js
index 513bfbcdc82..6b604abdc81 100644
--- a/jstests/concurrency/fsm_workloads/drop_database_sharded_setFCV.js
+++ b/jstests/concurrency/fsm_workloads/drop_database_sharded_setFCV.js
@@ -27,6 +27,15 @@ var $config = extendWorkload($config, function($config, $super) {
jsTestLog('setFCV: Invalid transition');
return;
}
+ if (e.code === 7428200) {
+ // Cannot upgrade FCV if a previous FCV downgrade stopped in the middle of cleaning
+ // up internal server metadata.
+ assertAlways.eq(latestFCV, targetFCV);
+ jsTestLog(
+ 'setFCV: Cannot upgrade FCV if a previous FCV downgrade stopped in the middle \
+ of cleaning up internal server metadata');
+ return;
+ }
throw e;
}
jsTestLog('setFCV state finished');
diff --git a/jstests/concurrency/fsm_workloads/random_DDL_CRUD_setFCV_operations.js b/jstests/concurrency/fsm_workloads/random_DDL_CRUD_setFCV_operations.js
index aa93e668a37..3cd6110c939 100644
--- a/jstests/concurrency/fsm_workloads/random_DDL_CRUD_setFCV_operations.js
+++ b/jstests/concurrency/fsm_workloads/random_DDL_CRUD_setFCV_operations.js
@@ -36,6 +36,15 @@ var $config = extendWorkload($config, function($config, $super) {
jsTestLog('setFCV: Invalid transition');
return;
}
+ if (e.code === 7428200) {
+ // Cannot upgrade FCV if a previous FCV downgrade stopped in the middle of cleaning
+ // up internal server metadata.
+ assertAlways.eq(latestFCV, targetFCV);
+ jsTestLog(
+ 'setFCV: Cannot upgrade FCV if a previous FCV downgrade stopped in the middle \
+ of cleaning up internal server metadata');
+ return;
+ }
throw e;
}
jsTestLog('setFCV state finished');
diff --git a/jstests/concurrency/fsm_workloads/random_DDL_setFCV_operations.js b/jstests/concurrency/fsm_workloads/random_DDL_setFCV_operations.js
index 79d5ba9466a..b6740c8cf89 100644
--- a/jstests/concurrency/fsm_workloads/random_DDL_setFCV_operations.js
+++ b/jstests/concurrency/fsm_workloads/random_DDL_setFCV_operations.js
@@ -30,6 +30,15 @@ var $config = extendWorkload($config, function($config, $super) {
jsTestLog('setFCV: Invalid transition');
return;
}
+ if (e.code === 7428200) {
+ // Cannot upgrade FCV if a previous FCV downgrade stopped in the middle of cleaning
+ // up internal server metadata.
+ assertAlways.eq(latestFCV, targetFCV);
+ jsTestLog(
+ 'setFCV: Cannot upgrade FCV if a previous FCV downgrade stopped in the middle \
+ of cleaning up internal server metadata');
+ return;
+ }
throw e;
}
diff --git a/jstests/concurrency/fsm_workloads/random_internal_transactions_setFCV_operations.js b/jstests/concurrency/fsm_workloads/random_internal_transactions_setFCV_operations.js
index c1181458ded..7e08e5b4e1d 100644
--- a/jstests/concurrency/fsm_workloads/random_internal_transactions_setFCV_operations.js
+++ b/jstests/concurrency/fsm_workloads/random_internal_transactions_setFCV_operations.js
@@ -38,6 +38,15 @@ var $config = extendWorkload($config, function($config, $super) {
jsTestLog('setFCV: Invalid transition');
return;
}
+ if (e.code === 7428200) {
+ // Cannot upgrade FCV if a previous FCV downgrade stopped in the middle of cleaning
+ // up internal server metadata.
+ assertAlways.eq(latestFCV, targetFCV);
+ jsTestLog(
+ 'setFCV: Cannot upgrade FCV if a previous FCV downgrade stopped in the middle \
+ of cleaning up internal server metadata');
+ return;
+ }
throw e;
}
jsTestLog('setFCV state finished');