-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace state machine in EventProcessor #19501
Conversation
When the expected transition does not match the actual transition, the exception thrown now reports what the expected values.
The methods dealing with run now take arguments similar to what are used in the lumi methods.
Replaced the boost state machine with a series of nested loops. End transitions are now handled by using RAII on resources objects. This is the first stepping stone towards allowing multiple Runs and LuminosityBlocks to be processed simultaneous.
The change to transition handling in the EventProcessor now avoids unnecessary end/begin transition calls.
The EventProcessor API no longer depends on classes from the statemachine namespace.
The emptyRunLumiMode is not available in the new transition handling.
This reverts commit 883542f.
The emptyRunLumiMode is not available in the new transition handling.
In order to easy testing, the Processor classes used to control different system transitions were moved to their own file. This file is intended to be included directly in the source file of the implementing EventProcessor since these classes are simply internal details.
Removed the boost state machine as well as member data and functions only needed by the state machine.
The MockEventProcessor now uses the Transition Processors just like the official edm::EventProcessor. Minor changes were made to the expected results based on the known differences between the state-machine version and the Transition Processor version.
The state-machine that was used to control transition changes in the EventProcessor has been replaced.
The IEventProcessor base class was only used to allow testing of the state machine. Now the testing of the replacement to the state machine no longer requires a base class to function.
Removed unused members and functions. Converted a member with only two allowed values to be a bool.
A new Pull Request was created by @Dr15Jones (Chris Jones) for master. It involves the following packages: FWCore/Framework @cmsbuild, @smuzaffar, @Dr15Jones, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
-1 |
please test |
The tests are being triggered in jenkins. |
+1 The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic: |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar |
+1 |
Replace state machine in EventProcessor
Replaced the use of the boost state machin in the EventProcessor with a series of simple Transition Processors. This new structure paves the way to allowing multiple concurrent Runs and LuminosityBlocks in the system.