diff options
author | Eddie Louie <eddie.louie@mongodb.com> | 2017-01-13 18:06:56 -0500 |
---|---|---|
committer | Eddie Louie <eddie.louie@mongodb.com> | 2017-08-22 14:20:13 -0400 |
commit | 0071856fa9018f16b40f0c7c492fd445f673060d (patch) | |
tree | 649a8f779e17a0f82a130652cee0afc01990187d | |
parent | 9747381e76070df44d824b037e67a0bfc3472502 (diff) | |
download | mongo-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.js | 19 | ||||
-rw-r--r-- | jstests/concurrency/fsm_workloads/compact.js | 17 |
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 }; })(); |