DUNE-DAQ / minidaqapp

0 stars 1 forks source link

Support different frontend types #52

Closed floriangroetschla closed 3 years ago

floriangroetschla commented 3 years ago

Additional option --frontend-type to specify the frontend type (and request handler implementation for PDS). The type is used as the prefix for the queue instance name. The system type of the GeoID is used by the ModuleLevelTrigger, the TriggerRecordBuilder and the FakeCardReader. This PR also handles some changes in the configuration of the readout (especially that links can be configured separately).

bieryAtFnal commented 3 years ago

I've run some tests with FakeCardReader.

Short runs with "--frontend-type" set to "pds_queue", "pds_list", and "wib" seem fine. The timestamps in the trigger and fragment headers for the PDS data are much larger than the ones produced for the WIB. I presume that this is a feature, not a bug.

I did see a problem when I tried to run with multiple Readout processes. I used the following command to create a system with three WIB-based readout processes:

Running this system with the following command produced failures from RUs 1 and 2 at configure time:

Here are the warning and error messages that I saw in the TRACE log:

   7 05-26 11:06:07.161300  247377  247423   1             CommandFacility ERR handle_command: Execution of command failed: Caught ers::Issue;  caused by: 2021-May-26 11:06:07,161 ERROR [dispatch_one_match_only(...) at DAQModuleManager.cpp:227] Command conf was not execu
  13 05-26 11:06:07.148478  247377  247423  11              FakeCardReader ERR do_conf:  Readout Initialization Error: Cannot find queue: output_10
  19 05-26 11:06:07.056084  247324  247400   0             CommandFacility ERR handle_command: Execution of command failed: Caught ers::Issue;  caused by: 2021-May-26 11:06:07,055 ERROR [dispatch_one_match_only(...) at DAQModuleManager.cpp:227] Command conf was not execu
  25 05-26 11:06:07.042608  247324  247400  10              FakeCardReader ERR do_conf:  Readout Initialization Error: Cannot find queue: output_5
floriangroetschla commented 3 years ago

Thanks for the testing, the last commit should fix the queue names

bieryAtFnal commented 3 years ago

Thanks for the fix. I confirm that, with the fix, I can run with 3 Readout Apps.

floriangroetschla commented 3 years ago

Added explanation for some options