diff --git a/jstests/concurrency/fsm_all.js b/jstests/concurrency/fsm_all.js
|
index c174342..f1e5f09 100644
|
--- a/jstests/concurrency/fsm_all.js
|
+++ b/jstests/concurrency/fsm_all.js
|
@@ -7,6 +7,6 @@ var dir = 'jstests/concurrency/fsm_workloads';
|
var blacklist = [
|
].map(function(file) { return dir + '/' + file; });
|
|
-runWorkloadsSerially(ls(dir).filter(function(file) {
|
- return !Array.contains(blacklist, file);
|
-}));
|
+runWorkloadsSerially(['jstests/concurrency/fsm_workloads/threadcount.js'], {}, {
|
+ threadMultiplier: 105
|
+});
|
diff --git a/jstests/concurrency/fsm_libs/runner.js b/jstests/concurrency/fsm_libs/runner.js
|
index cfe6136..ceb0f85 100644
|
--- a/jstests/concurrency/fsm_libs/runner.js
|
+++ b/jstests/concurrency/fsm_libs/runner.js
|
@@ -561,7 +561,9 @@ var runner = (function() {
|
dropAllDatabases(cluster.getDB('test'), dbBlacklist);
|
}
|
|
- var maxAllowedThreads = 100 * executionOptions.threadMultiplier;
|
+ // Skip multiplying maxAllowedThreads by the threadMultiplier to trigger the ThreadManager
|
+ // to scale the number of threads used down.
|
+ var maxAllowedThreads = 100;
|
Random.setRandomSeed(clusterOptions.seed);
|
var bgCleanup = [];
|
var errors = [];
|
diff --git a/jstests/concurrency/fsm_workloads/threadcount.js b/jstests/concurrency/fsm_workloads/threadcount.js
|
new file mode 100644
|
index 0000000..e83f962
|
--- /dev/null
|
+++ b/jstests/concurrency/fsm_workloads/threadcount.js
|
@@ -0,0 +1,21 @@
|
+'use strict';
|
+
|
+var $config = (function() {
|
+
|
+ var states = { noop: function noop(db, collName) {} };
|
+ var transitions = { noop: { noop: 1 } };
|
+
|
+ function setup(db, collName, cluster) {
|
+ jsTest.log(`setup() function sees threadCount=${this.threadCount}`);
|
+ }
|
+
|
+ return {
|
+ threadCount: 1,
|
+ iterations: 10,
|
+ startState: 'noop',
|
+ states: states,
|
+ transitions: transitions,
|
+ setup: setup
|
+ };
|
+
|
+})();
|