Skip to content

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

Edited by Maciej Pawel Szymanski

Merge request reports