[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:
Backports
Depends
is depended on by SERVER-35262 Add concurrency_simultaneous_replicat... Closed
Problem/Incident
Related
related to SERVER-35521 concurrency_simultaneous task shouldn... Closed
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: SERVER-29999 Implement FSM Scheduler for concurrency_simultaneous

(cherry picked from commit b107fce3ef35a9e234f8169f8cae7cf8d9aa4134)
Branch: v4.0
https://github.com/mongodb/mongo/commit/3bc3ea2d2033d12784aebc12544301e11c368e4c

Comment by Githook User [ 04/Jun/18 ]

Author:

{'username': 'guoyr', 'name': 'Robert Guo', 'email': 'robert.guo@10gen.com'}

Message: SERVER-29999 Implement FSM Scheduler for concurrency_simultaneous
Branch: master
https://github.com/mongodb/mongo/commit/b107fce3ef35a9e234f8169f8cae7cf8d9aa4134

Comment by Robert Guo (Inactive) [ 18/May/18 ]

CR: https://mongodbcr.appspot.com/199880002/
PB: https://evergreen.mongodb.com/version/5b156673e3c3310bcd9bb0a6
PB to fix burn_in_tests: https://evergreen.mongodb.com/version/5b158699e3c3310bcda12a5a

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.

Generated at Thu Feb 08 04:22:23 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.