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

Fix esConsumes() for an EDModule that consumes EDProduct with @currentProcess #32217

Merged
merged 1 commit into from Nov 24, 2020

Conversation

makortel
Copy link
Contributor

@makortel makortel commented Nov 20, 2020

PR description:

ES tokens use an "empty string optimization", i.e. re-using the \0 as the first element of EDConsumerBase::m_tokenLabels for empty strings. However, when an EDProduct is consumed with @currentProcess process name, EDConsumerBase::convertCurrentProcessAlias() overwrites m_tokenLabels to have something else as the first element, leading to NoProxyException being thrown when an ESHandle obtained with ESGetToken is dereferenced.

This PR fixed convertCurrentProcessAlias() to leave \0 as the first element of m_tokenLabels.

This problem was observed in #31962.

PR validation:

Framework unit tests run. In addition, with #31962 11634.0 step2 runs (that fails without this PR).

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32217/19961

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32217/19962

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @makortel (Matti Kortelainen) for master.

It involves the following packages:

FWCore/Framework
FWCore/Integration

@makortel, @smuzaffar, @cmsbuild, @Dr15Jones can you please review it and eventually sign? Thanks.
@wddgit this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@makortel
Copy link
Contributor Author

@cmsbuild, please test

@makortel
Copy link
Contributor Author

@Dr15Jones please review

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 20, 2020

The tests are being triggered in jenkins.

FWCore/Integration/test/ESTestAnalyzers.cc Show resolved Hide resolved
};

void ESTestAnalyzerL::analyze(edm::Event const& ev, edm::EventSetup const& es) {
auto const& dataJ = es.getData(esToken_);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is to test on existence not on content?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, the de-reference of the ESHandle is the important part. I change the following printout to Info or Debug since it is not really important (mostly a leftover from copy-paste from ESTestAnalyzerJ).

@cmsbuild
Copy link
Contributor

+1
Tested at: 3158047
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a06ef/10904/summary.html
CMSSW: CMSSW_11_2_X_2020-11-19-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 37
  • DQMHistoTests: Total histograms compared: 2962300
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2962271
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 36 files compared)
  • Checked 158 log files, 34 edm output root files, 37 DQM output files

@cmsbuild
Copy link
Contributor

Pull request #32217 was updated. @makortel, @smuzaffar, @cmsbuild, @Dr15Jones can you please check and sign again.

@Dr15Jones
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 23, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+1
Tested at: c2c4015
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a06ef/10961/summary.html
CMSSW: CMSSW_11_2_X_2020-11-23-1100
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 37
  • DQMHistoTests: Total histograms compared: 2961011
  • DQMHistoTests: Total failures: 5
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2960984
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 36 files compared)
  • Checked 158 log files, 34 edm output root files, 37 DQM output files

@makortel
Copy link
Contributor Author

+1

@cmsbuild
Copy link
Contributor

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. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@qliphy
Copy link
Contributor

qliphy commented Nov 24, 2020

+1

@cmsbuild cmsbuild merged commit c608f97 into cms-sw:master Nov 24, 2020
@makortel makortel deleted the fixEsConsumesCurrentProcess branch November 24, 2020 21:49
jsalfeld added a commit to jsalfeld/cmssw that referenced this pull request Nov 27, 2020
cmsbuild added a commit that referenced this pull request Dec 2, 2020
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.

None yet

4 participants