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
PoolOutputModule reads branch provenance only at input file open #17493
PoolOutputModule reads branch provenance only at input file open #17493
Conversation
The PoolOutputModule was previously reading the per data product provenance from the input file each event. This required the per event provenance to be delay read from the file even in the case where the per event provenance was not going to be stored (such as when writing miniAOD). In a multi-threaded environment this caused lock contention. The code now reads the summary of the per data product provenance when the input file is opened and only requests it per event if it is going to be stored per event. Also found a bug where the meta data branch ProductDependencies was always empty because the stored object was cleared too early.
A new Pull Request was created by @Dr15Jones (Chris Jones) for CMSSW_9_0_X. It involves the following packages: IOPool/Output @cmsbuild, @smuzaffar, @Dr15Jones, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here #13028 |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_9_0_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar |
+1 |
The PoolOutputModule was previously reading the per data product
provenance from the input file each event. This required the
per event provenance to be delay read from the file even in the
case where the per event provenance was not going to be stored
(such as when writing miniAOD). In a multi-threaded environment
this caused lock contention.
The code now reads the summary of the per data product provenance
when the input file is opened and only requests it per event
if it is going to be stored per event.
Also found a bug where the meta data branch ProductDependencies
was always empty because the stored object was cleared too early.