-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Remove unnecessary calls to consumesMany in DQMRootOutputModule #41166
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-41166/34839
|
A new Pull Request was created by @wddgit (W. David Dagenhart) for master. It involves the following packages:
@emanueleusai, @cmsbuild, @syuvivida, @rvenditti, @micsucmed, @pmandrik can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
hold I'd expect the tests to fail (but became curious to see if that actually happens). |
Pull request has been put on hold by @makortel |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-20de0c/31574/summary.html Comparison SummarySummary:
|
Interesting, it worked. Looking from history, I'd guess I added the |
I believe this to be the case. |
+1 |
I think it would be dangerous to rely on all DQM modules to be in Sequences. |
@makortel (I'm back from my vacation.) We exchanged private emails with one comment from you that probably belongs in these PR comments instead. So I'm including it next: "The consumption of the DQMTokens is indeed not needed for scheduling, but to make the dependence between DQMRootOutputModule and DQM EDModules visible so the DQM EDModules do not get removed by the deletion of non-consumed unscheduled modules." I didn't know about that second usage of DQMTokens. Does this mean I should I close this PR and generate a new one adding support for GetterOfProducts in OutputModules and use that approach instead? |
Hi @wddgit
Yes, I think we should do that. |
PR description:
Remove unnecessary calls to consumesMany in DQMRootOutputModule.
DQMTokens are used to order execution of modules when one module
depends on the actions of another module. DQMRootOutputModule
only has write methods. It does not have endRun or endLumi methods
so there is no reason for it to consume endRun or endLumi DQMToken
products. The write methods are already sequenced by the Framework
to execute after endRun or endLumi methods that could produce DQMTokens
are finished.
This was motivated by the migration to remove all consumesMany calls
from CMSSW. That function has been deprecated.
FYI @makortel @Dr15Jones
PR validation:
There should be no change in behavior. No tests were added.