AthenaCommon+AthenaConfiguration, etc: Add EventWritten incident.
Fire an EventWritten incident after all event output has completed.
Update affected reference files.
Merge request reports
Activity
added full-unit-tests label
This merge request affects 9 packages:
- Calorimeter/CaloClusterCorrection
- Calorimeter/CaloRec
- Calorimeter/CaloUtils
- Control/AthenaCommon
- Control/AthenaConfiguration
- Control/AthenaExamples/AthExHelloWorld
- Control/AthenaServices
- Control/DataModelTest/DataModelRunTests
- TileCalorimeter/TileSvc/TileByteStream
Affected files list will not be printed in this case
added Calorimeter Core JetEtmiss Tile master review-pending-level-1 labels
CI Result FAILURE (hash 34864601) Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 34651] This merge request affects 9 packages:
- Calorimeter/CaloClusterCorrection
- Calorimeter/CaloRec
- Calorimeter/CaloUtils
- Control/AthenaCommon
- Control/AthenaConfiguration
- Control/AthenaExamples/AthExHelloWorld
- Control/AthenaServices
- Control/DataModelTest/DataModelRunTests
- TileCalorimeter/TileSvc/TileByteStream
Affected files list will not be printed in this case
This is just unconditionally firing an "EventWritten" incident after AthOutSeq in all athena jobs, right? Even if AthOutSeq is empty and there is no output writing actually done.
What do you plan to use this incident for? I assume it will be harmless for jobs not writing any output, but for jobs using HltEventLoopMgr the incident will be fired actually before the output writing which may be a problem.
I'm not opposing this MR (reviewers, please proceed with the review) - just asking questions to understand where this is going.
@ssnyder, could you reply?
The goal is to allow moving clearing the event store, which has been observed to be a bottleneck in many-thread jobs, into the context of an algorithm, so it can be run in parallel.
Doing it from an incident is attractive because that allows the event loop manager to retain control (and responsibility) for when this happens. But there was no existing incident appropriate for this. EndEvent happens before the event is written, and EndProcessing is fired from the event loop manager and runs in that thread (and changing that would be risky).
The next step is to change the MT event loop manager to clear the store when this incident is fired. Other event loop managers will be unaffected.
Thanks for explaining. I can certainly see how this solution is attractive - it's likely to achieve what's needed in a fairly straightforward way. But this is also where online and offline diverge a bit more, so I'm just cautious about a possible interference between our solutions. As long as the offline loop manager remains the only listener of this new incident, I see no problem. I was worried you had some other services/components in mind for this, but with just AthenaHiveEventLoopMgr this is fine.
Perhaps [Algorithms|Sequences][Finished|Done] or something along these lines could be a bit more matching? If you prefer to keep the current name, we'll just need to keep an eye on people reusing this for another purpose with a wrong assumption. It would likely come up in CI anyway if someone uses the incident in an online-incompatible way.
CI Result FAILURE (hash 34864601) Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 34666] mentioned in merge request !44070 (closed)
mentioned in commit 208de525
added sweep:ignore label