[SERVER-29999] Implement FSM workload scheduler for concurrency_simultaneous task Created: 06/Jul/17 Updated: 30/Oct/23 Resolved: 04/Jun/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Testing Infrastructure |
| Affects Version/s: | 3.5.9 |
| Fix Version/s: | 4.0.0-rc2, 4.1.1 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Robert Guo (Inactive) | Assignee: | Robert Guo (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Backport Requested: |
v3.6
|
||||||||||||||||||||||||
| Sprint: | TIG 2017-07-31, TIG 2018-06-04, TIG 2018-06-18 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||||||
| Story Points: | 5 | ||||||||||||||||||||||||
| Description |
|
We'll want to port the scheduleWorkloads() function from JavaScript to Python so that resmoke.py is in control over the groups of FSM workloads that are run together. The behavior around the number of subsets an individual FSM workload can be a part of should be identical to what it is for the concurrency_simultaneous.yml test suite today. Additionally, specifying --suites=concurrency_simultaneous jstests/concurrency/fsm_workloads/workloadA.js jstests/concurrency/fsm_workloads/workloadB.js should run those two FSM workloads together rather than in sequence. That is to say, if a list of files is omitted then numSubsets groups of FSM workloads should be run and if a list of files is present then exactly 1 group of FSM workloads should be run. The latter aims to serve an engineer who wishes to reproduce a particular failure by running the same group of FSM workloads together. |
| Comments |
| Comment by Githook User [ 04/Jun/18 ] |
|
Author: {'username': 'guoyr', 'name': 'Robert Guo', 'email': 'robert.guo@10gen.com'}Message: (cherry picked from commit b107fce3ef35a9e234f8169f8cae7cf8d9aa4134) |
| Comment by Githook User [ 04/Jun/18 ] |
|
Author: {'username': 'guoyr', 'name': 'Robert Guo', 'email': 'robert.guo@10gen.com'}Message: |
| Comment by Robert Guo (Inactive) [ 18/May/18 ] |
|
CR: https://mongodbcr.appspot.com/199880002/ |
| Comment by Max Hirschhorn [ 01/May/18 ] |
|
Using _JSTestSelectorConfig and _JSTestSelector is sufficient for the "fsm_workload_test" test kind so I'm repurposing this ticket to be about writing a selector for handling the concurrency_simultaneous.yml test suite. Note that resmoke_runner.js already accepts an array for the TestData.fsmWorkloads parameter and will run the specified FSM workloads concurrently. We'll need to have the constructed FSMWorkloadTestCase instances report their test name as a consistent hash of the composite FSM workloads that are being executed because concatenating all of the FSM workload names would lead to too long of a string. |