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

Fixing race condition in EvFDaqDirector #18516

Merged
merged 2 commits into from May 3, 2017
Merged

Conversation

smorovic
Copy link
Contributor

DaqDirector was used to keep track of which file (based on which event) is being processed by which file.
This was not done in thread safe manner, as described in issue #18356

This patch retrives event (file) stream ID from "read" in the input source instead of relying on preSourceEvent in DaqDirector, which can be executed in a different thread.

using preSourceEvent. Moving this vector to "read" in the input source
and reading stream ID from eventPrincipal, which makes this mechanism
thread safe*.

* under assumption that "getNextEvent" and "read" are
mutually exclusive and without data races between them, and run in sequence (one getNextEvent followed by one read).
(more than just currentFileIndex_ updates rely on this behavior)
*small fix for singleBufferMode (non-default mode): fix premature exit of the thread in case empty file is seen
*removed obsolete comments
@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 28, 2017

A new Pull Request was created by @smorovic (Srecko Morovic) for master.

It involves the following packages:

EventFilter/Utilities

@perrotta, @emeschi, @cmsbuild, @slava77, @mommsen, @davidlange6 can you please review it and eventually sign? Thanks.
@Martin-Grunewald this is something you requested to watch as well.
@Muzaffar, @davidlange6, @smuzaffar you are the release manager for this.

cms-bot commands are listed here

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 28, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/19466/console Started: 2017/04/28 17:13

@cmsbuild
Copy link
Contributor

@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-18516/19466/summary.html

Comparison Summary:

  • You potentially added 40 lines to the logs
  • Reco comparison results: 1693 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 1778755
  • DQMHistoTests: Total failures: 56339
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1722243
  • DQMHistoTests: Total skipped: 173
  • DQMHistoTests: Total Missing objects: 0
  • Checked 94 log files, 14 edm output root files, 23 DQM output files

@slava77
Copy link
Contributor

slava77 commented May 2, 2017

+1

for #18516 8dafe16

  • changes are in the DAQ part of the code; reco is not affected
  • jenkins tests pass

@davidlange6 davidlange6 merged commit 92286e3 into cms-sw:master May 3, 2017
@smorovic smorovic deleted the master_1 branch February 13, 2019 12: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

5 participants