summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEddie Louie <eddie.louie@mongodb.com>2017-01-13 18:06:56 -0500
committerEddie Louie <eddie.louie@mongodb.com>2017-08-22 14:20:13 -0400
commit0071856fa9018f16b40f0c7c492fd445f673060d (patch)
tree649a8f779e17a0f82a130652cee0afc01990187d
parent9747381e76070df44d824b037e67a0bfc3472502 (diff)
downloadmongo-0071856fa9018f16b40f0c7c492fd445f673060d.tar.gz
SERVER-26377 Skip FSM workloads that use the compact command on the LSM build variant
(cherry picked from commit 8e34979440be7d97f92c71e85a9644108ce60c68)
-rw-r--r--jstests/concurrency/fsm_libs/cluster.js19
-rw-r--r--jstests/concurrency/fsm_workloads/compact.js17
2 files changed, 35 insertions, 1 deletions
diff --git a/jstests/concurrency/fsm_libs/cluster.js b/jstests/concurrency/fsm_libs/cluster.js
index a5705a409af..f3e2429f898 100644
--- a/jstests/concurrency/fsm_libs/cluster.js
+++ b/jstests/concurrency/fsm_libs/cluster.js
@@ -573,6 +573,25 @@ var Cluster = function(options) {
return data;
};
+
+ this.isRunningWiredTigerLSM = function isRunningWiredTigerLSM() {
+ var adminDB = this.getDB('admin');
+
+ if (this.isSharded()) {
+ // Get the storage engine the sharded cluster is configured to use from one of the
+ // shards since mongos won't report it.
+ adminDB = st.shard0.getDB('admin');
+ }
+
+ var res = adminDB.runCommand({getCmdLineOpts: 1});
+ assert.commandWorked(res, 'failed to get command line options');
+
+ var wiredTigerOptions = res.parsed.storage.wiredTiger || {};
+ var wiredTigerCollectionConfig = wiredTigerOptions.collectionConfig || {};
+ var wiredTigerConfigString = wiredTigerCollectionConfig.configString || '';
+
+ return wiredTigerConfigString === 'type=lsm';
+ };
};
/**
diff --git a/jstests/concurrency/fsm_workloads/compact.js b/jstests/concurrency/fsm_workloads/compact.js
index 8f91f52bf5e..e86e6ef555f 100644
--- a/jstests/concurrency/fsm_workloads/compact.js
+++ b/jstests/concurrency/fsm_workloads/compact.js
@@ -87,12 +87,27 @@ var $config = (function() {
dropCollections(db, pattern);
};
+ var skip = function skip(cluster) {
+ if (cluster.isRunningWiredTigerLSM()) {
+ // There is a known hang during concurrent FSM workloads with the compact command used
+ // with wiredTiger LSM variants. Bypass this command for the wiredTiger LSM variant
+ // until a fix is available for WT-2523.
+ return {
+ skip: true,
+ msg: 'WT-2523: compact command can cause hang using WT LSM index during ' +
+ 'concurrent workloads'
+ };
+ }
+ return {skip: false};
+ };
+
return {
threadCount: 15,
iterations: 10,
states: states,
transitions: transitions,
teardown: teardown,
- data: data
+ data: data,
+ skip: skip
};
})();