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
prepare DQMStore for Framework concurrent run support #39491
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39491/32232
|
A new Pull Request was created by @wddgit (W. David Dagenhart) for master. It involves the following packages:
@emanueleusai, @ahmad3213, @cmsbuild, @jfernan2, @syuvivida, @pmandrik, @micsucmed, @rvenditti can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
enable threading |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-75a9ea/27752/summary.html Comparison SummarySummary:
|
I ran runTheMatrix.py with all the tests (not just the limited ones) and threading enabled. The tests all passed (except for 3 known and unrelated failures). That test also included PR #38801 and PR #39374. The run concurrency pull request is now only waiting on approval of these 3 PR's. We are hoping to get it merged into 12_6_X soon so we have time to gain experience with it before 12_6_0 is finalized. |
+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 will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
Modify DQMStore so that it continues to function when the pull request adding Framework support for concurrent runs is merged. That pull request, #38801, adds additional concurrency that was always planned in the design and documented on the design TWIKI, but in fact was not implemented. After that PR is merged, the streamBeginRun and streamEndRun transitions may run concurrently with some other transitions, including globalBeginLuminosityBlock. The current implementation of DQMStore relies on globalBeginLuminosityBlock occurring before beginStreamRun to call initLumi for Monitor elements with lumi scope. DQMStore will break if beginStreamRun is called after globalBeginLuminosityBlock because new MonitorElements will be booked and then initLumi will never be called.
This is a one line fix for this problem.
Note that this fix is intended to allow DQMStore to function properly in the case where the number of concurrent runs is configured to 1, which will be the default. There might or might not be additional work necessary in DQMStore to support a configuration where the number of concurrent runs is configured to be greater than 1. That case has not been tested. The plan is to get support for concurrent runs implemented in the Framework and later improve modules and services outside the Framework to support that mode of operation as resources are available.
Note that PR #38801 cannot be merged until after this PR is merged and we would like to merge that one soon.
@makortel and @Dr15Jones, you might be interested in this also.
PR validation:
Behavior should remain exactly the same, so this relies on existing tests.