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

Use shared_ptr for MutableMonitorElementData #35756

Merged
merged 1 commit into from Oct 21, 2021

Conversation

Dr15Jones
Copy link
Contributor

PR description:

Make sure DQMStore::localMEs_ never has stale pointer to the data. This avoids a crash when running with concurrent LuminosityBlocks with a DQMOneEDAnalyzer which has per lumi histograms.

This is an alternative to #35751.

PR validation:

Code compiles. A simple test which had failed now succeeds.

Resolves #35726

Make sure DQMStore::localMEs_ never has stale pointer to the data.
@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35756/26100

  • This PR adds an extra 32KB to repository

  • There are other open Pull requests which might conflict with changes you have proposed:

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

  • DQMServices/Core (dqm)

@emanueleusai, @ahmad3213, @cmsbuild, @jfernan2, @pmandrik, @pbo0, @rvenditti can you please review it and eventually sign? Thanks.
@barvic this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@Dr15Jones
Copy link
Contributor Author

When compared to #35751, this change should be faster since it doesn't have to check every moduleID in the DQMStore::localMEs_ for an equivalent MonitorElement to the one being deleted.

On the down side, this change can hold onto memory for a bit longer in the case where we have concurrent lumis and we've delete the item from DQMStore::globalMEs_ but have not yet swapped what is in DQMStore::localMEs_. I personally do not that that will be a problem at all.

@Dr15Jones
Copy link
Contributor Author

please test

@tvami
Copy link
Contributor

tvami commented Oct 20, 2021

type bug-fix

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6c697b/19782/summary.html
COMMIT: 302916c
CMSSW: CMSSW_12_1_X_2021-10-19-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/35756/19782/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6c697b/19782/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6c697b/19782/git-merge-result

Comparison Summary

The workflows 140.53 have different files in step1_dasquery.log than the ones found in the baseline. You may want to check and retrigger the tests if necessary. You can check it in the "files" directory in the results of the comparisons

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4415 differences found in the comparisons
  • DQMHistoTests: Total files compared: 40
  • DQMHistoTests: Total histograms compared: 2751113
  • DQMHistoTests: Total failures: 17305
  • DQMHistoTests: Total nulls: 62
  • DQMHistoTests: Total successes: 2733724
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 65.355 KiB( 39 files compared)
  • DQMHistoSizes: changed ( 140.53 ): 63.680 KiB Hcal/DigiRunHarvesting
  • DQMHistoSizes: changed ( 140.53 ): 1.676 KiB RPC/DCSInfo
  • Checked 170 log files, 37 edm output root files, 40 DQM output files
  • TriggerResults: no differences found

@jfernan2
Copy link
Contributor

please test
There are some changes in some wfs related to other PRs considered in the test, Let's decouple

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6c697b/19790/summary.html
COMMIT: 302916c
CMSSW: CMSSW_12_1_X_2021-10-20-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/35756/19790/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 40
  • DQMHistoTests: Total histograms compared: 2751113
  • DQMHistoTests: Total failures: 5
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2751085
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -0.004 KiB( 39 files compared)
  • DQMHistoSizes: changed ( 312.0 ): -0.004 KiB MessageLogger/Warnings
  • Checked 170 log files, 37 edm output root files, 40 DQM output files
  • TriggerResults: no differences found

@jfernan2
Copy link
Contributor

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

@perrotta
Copy link
Contributor

+1

  • Let have it merged in the master first

@cmsbuild cmsbuild merged commit 4378aa3 into cms-sw:master Oct 21, 2021
@Dr15Jones Dr15Jones deleted the refCounMutableMonitorElementData branch October 25, 2021 12:56
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.

Possible bug in DQMStore::leaveLumi()
5 participants