Skip to content
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

Merged
merged 14 commits into from
Jul 4, 2017

Conversation

Dr15Jones
Copy link
Contributor

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.

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.
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.
@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2017

A new Pull Request was created by @Dr15Jones (Chris Jones) for master.

It involves the following packages:

FWCore/Framework
FWCore/Integration

@cmsbuild, @smuzaffar, @Dr15Jones, @davidlange6 can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @wddgit this is something you requested to watch as well.
@davidlange6 you are the release manager for this.

cms-bot commands are listed here

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/21054/console Started: 2017/07/02 02:39

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2017

-1
Tested at: UNKNOWN
I was not able to find a release to test this PR. See the Jenkins logs for more details.

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/21064/console Started: 2017/07/02 17:47

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2017

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2017

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2017

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19501/21064/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 22
  • DQMHistoTests: Total histograms compared: 1756063
  • DQMHistoTests: Total failures: 93
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1755804
  • DQMHistoTests: Total skipped: 166
  • DQMHistoTests: Total Missing objects: 0
  • Checked 90 log files, 14 edm output root files, 22 DQM output files

@Dr15Jones
Copy link
Contributor Author

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 3, 2017

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

@davidlange6
Copy link
Contributor

+1

cmsbuild added a commit that referenced this pull request Jul 4, 2017
Replace state machine in EventProcessor
@cmsbuild cmsbuild merged commit d3b3564 into cms-sw:master Jul 4, 2017
@Dr15Jones Dr15Jones deleted the removeStateMachine branch July 7, 2017 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants