Project

General

Profile

Bug #21869

Bug #21863: mediumsystem_with_routing_master fails during integration testing

Data can persist in TransferPlugins between runs (stop/start transitions)

Added by Eric Flumerfelt over 1 year ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
Needed Enhancements
Target version:
Start date:
02/08/2019
Due date:
% Done:

100%

Estimated time:
Experiment:
-
Co-Assignees:
Duration:

Description

As each run is a separate data domain, TransferInterface plugins should clear their buffers as part of a stop transition (similar to how SharedMemoryEventManager clears its buffers). When this is not done, events which were pending transfer from an EventBuilder to a DataLogger can cause multiple file switches at the beginning of a subsequent run in a stop/start chain.

A flush_buffers function has been added to TransferInterface, called from DataReceiverManager at the end of the receive thread. Appropriate implementations have been generated for Transfer Plugins in artdaq, artdaq_demo, and artdaq_mpich_plugin.

Associated revisions

Revision ea9e40c5 (diff)
Added by Eric Flumerfelt over 1 year ago

This commit resolves #21869, by adding a flush_buffers function to
TransferInterface and implementing it for the artdaq TransferPlugins.

History

#1 Updated by Eric Flumerfelt over 1 year ago

  • % Done changed from 0 to 100
  • Status changed from Work in progress to Resolved

#2 Updated by John Freeman over 1 year ago

I've performed two sets of ten runs apiece on mu2edaq12 with the branch bugfix/21869_TransferInterface_FlushBuffers merged into /home/jcfree/artdaq-demo_test_fixes_to_v3_03_02/srcs/artdaq. I hacked just_do_it.sh so that after each run stop, the following snippet Eric gave me would be executed:

for key in `ipcs -m|grep 0x|grep -v cee7|awk '{print $1}'`;do echo;echo;echo $key;echo;echo;PrintSharedMemory -M $key;done

...where I dump the output into a file for later examination. Eric said to make sure that in the output of that command, for all lines providing the value of "sem", I should only see "sem: Empty", and that appears to be the case. On a more macro level, it's also the case that I'm getting a root file for each run (suggesting we're not having multiple file switches anymore); however, see Issue #21908 which I just filed.

#3 Updated by John Freeman over 1 year ago

  • Status changed from Resolved to Reviewed

#4 Updated by Eric Flumerfelt over 1 year ago

  • Target version set to artdaq v3_04_00
  • Status changed from Reviewed to Closed


Also available in: Atom PDF