|
maria.vankeulen, I believe the building blocks to exercise toggling the featureCompatibilityVersion while running map-reduce operations already exist as a result of the toggle_feature_compatibility.js and map_reduce*.js FSM workloads. The reason why we've not been able to expose issues involving UUIDs and map-reduce (outside of the powercycle* tasks) is because the fsm_all_simultaneous.js runner file excludes the toggle_feature_compatibility.js FSM workload.
I'd recommend the Storage team selects from the existing FSM workloads (or adds new ones where the desired coverage is lacking) and creates a new fsm_toggle_fcv_simultaneous.js runner file to run them in parallel with the toggle_feature_compatibility.js FSM workload.
|
jstests/concurrency/fsm_toggle_fcv_simultaneous.js
|
'use strict';
|
|
load('jstests/concurrency/fsm_libs/runner.js');
|
|
var dir = 'jstests/concurrency/fsm_workloads';
|
|
var whitelist = [
|
'map_reduce_drop.js',
|
'map_reduce_inline.js',
|
'map_reduce_merge.js',
|
'map_reduce_merge_nonatomic.js',
|
'map_reduce_reduce.js',
|
'map_reduce_reduce_nonatomic.js',
|
'map_reduce_replace.js',
|
'map_reduce_replace_nonexistent.js',
|
'map_reduce_replace_remove.js',
|
'toggle_feature_compatibility.js',
|
].map(function(file) {
|
return dir + '/' + file;
|
});
|
|
runWorkloadsInParallel(ls(dir).filter(function(file) {
|
return Array.contains(whitelist, file);
|
}));
|
|