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

Make ROOT file support concurrent LuminosityBlocks #22406

Merged
merged 4 commits into from Mar 8, 2018

Conversation

Dr15Jones
Copy link
Contributor

The PoolOutputModule can now write files where an Event from the next LuminosityBlock is written to the output file before the end LuminosityBlock transition occurs. It can even handle interleaving Events from two different LuminosityBlocks before the previous LuminosityBlock ends.

The PoolSource can read files containing such interleaved Events. When reading back, it returns all the Events for one LuminosityBlock before going onto the next LuminosityBlock. [We already did such behavior in the cases where the output file was created by a job which read the LuminosityBlock from different files].

IndexIntoFile was modified to handle the case where we are processing LuminosityBlocks concurrently and events from the next LuminosityBlock are being written before the endLuminosityBlock transition from the previous LuminosityBlock has been called.
This was accomplished by adding a Lumi entry to runOrLumiEntries_ with an invalidEntry value which is there to keep track of the event entry range for the already written events for the previous LuminosityBlock.
RunLumiEventChecker can now be used in multi-threaded jobs (or to read files created by multi-threaded jobs) where the order of the transitions can change process to process.
Also made RunLumiEventChecker a global module.
With the use of concurrent LuminosityBlocks, it is possible for an event of the next LuminosityBlock to be written to the ROOT file before the end LuminosityBlock transition has been seen by the OutputModule. This test checks that PoolOutputModule can properly write files in that case and that PoolSource can subsequently read them.
@cmsbuild cmsbuild added this to the CMSSW_10_1_X milestone Mar 1, 2018
@Dr15Jones
Copy link
Contributor Author

@wddgit please take a look

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 1, 2018

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 1, 2018

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 1, 2018

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

It involves the following packages:

DataFormats/Provenance
FWCore/Modules
IOPool/Input

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

cms-bot commands are listed here

@Dr15Jones
Copy link
Contributor Author

@dan131riley does this modification also make it easier for you to implement the limited PoolOutputModule?

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 1, 2018

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/26415/console Started: 2018/03/01 23:12

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 2, 2018

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 2, 2018

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 1009 differences found in the comparisons
  • DQMHistoTests: Total files compared: 29
  • DQMHistoTests: Total histograms compared: 2479021
  • DQMHistoTests: Total failures: 4692
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2474153
  • DQMHistoTests: Total skipped: 176
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 1.11 KiB( 21 files compared)
  • Checked 118 log files, 9 edm output root files, 29 DQM output files

@Dr15Jones
Copy link
Contributor Author

The differences with the base line are most likely caused by recent changes in the IB (since they also show up in other pull requests). Just to be safe, I'll rerun the tests

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2018

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2018

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2018

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

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2018

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/26677/console Started: 2018/03/07 23:19

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

Comparison job queued.

@Dr15Jones
Copy link
Contributor Author

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

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. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 29
  • DQMHistoTests: Total histograms compared: 2480211
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2480034
  • DQMHistoTests: Total skipped: 176
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.94000000025 KiB( 23 files compared)
  • Checked 118 log files, 9 edm output root files, 29 DQM output files

@fabiocos
Copy link
Contributor

fabiocos commented Mar 8, 2018

+1

@cmsbuild cmsbuild merged commit 4509a5b into cms-sw:master Mar 8, 2018
@Dr15Jones Dr15Jones deleted the concurrentLumisIOHandling branch March 9, 2018 19:01
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