Reset the EventStreamInfo payload at the first event
All fields of EventStreamInfo
, except the number of events, are sets, thus are safe for merging. On the other hand, special care needs to be taken for the number of events, in particular in merge and/or MP jobs. Historically it was done by switching on or off {Copy,Make}EventStreamInfo
tools. This was moved recently to configuration layer in !73452 (merged). This however introduced regression reported in ATEAM-1016 (overwrite of number of events in merge job running in MP).
This MR attempts at improving this by resetting the EventStreamInfo
payload at the first processed event in MakeEventStreamInfo::postExecute()
, using std::call_once
(thread-safe). This is needed to avoid double counting of events which could have been already added by CopyEventStreamInfo
at beginInputFile()
. Such an approach allows for co-existence of Copy-
and MakeEventStreamInfo
tools.
The reason why we need to reset not only the number of events, but also other payload comes from the filtering workflows (MakeEventStreamInfo
must to create adequate description of the events in the output).
Fixes ATEAM-1016
/cc @gemmeren