artdaq Release Notes v3_02_01 (07-June-2018)


This version of artdaq can be built against art v2_11_01 (s67), v2_10_03 (s65), v2_10_02 (s64) or v2_07_03 (s50). It can be built with gcc v6_3_0 (e14), gcc v6_4_0 (e15), gcc v7_3_0 (e17), or clang v5_0_1 (c2). Supported combinations are s50-e14, s64-e15, s64-c2, s65-e15, s65-c2, s67-e15, s67-e17, and s67-c2.

The default set of qualifiers for this version of artdaq is e15:s64.

The MPI dependency for this version of artdaq has been moved to the artdaq_mpich_plugin product.


artdaq version:"v3_02_01"

New features:

  • Feature #20135: SharedMemoryReader poll then back-off getting events
  • Feature #20136: Partition Number as Global variable
  • Feature #20137: Additional methods for obtaining IP addresses in TCPConnect
  • Feature #20140: Improved support for out-of-order requests in RequestReceiver
  • Feature #20141: Allow using Timestamp as art Event Number instead of Sequence ID
  • Feature #20142: Intelligent actions in SharedMemoryEventManager for over-size Fragments
  • Feature #20143: "manual_art" mode in SharedMemoryEventManager

Bug fixes and Improvements:

  • Bug #20075: artdaqDriver config by partition folder requires right user permissions
  • Support #20133: Remove "missing request" processing from CommandableFragmentGenerator
  • Support #20138: DataReceiverManager should respect DATA_END flag from Transfer Plugins

Operational changes:

  • BoardReaderCore no longer complains about skipped Sequence IDs for non-push-mode BRs.
  • std::to_string calls removed from TLOGs where applicable
  • Doxygen documentation updated
  • Added TRACE calls to the start and end of state-machine commands
  • Out-of-order request bookkeeping moved to separate function and logic improved
  • EventBuilders now default the parameter "send_init_fragments" to false to suppress erroneous "Init Fragment requested" message
  • DataReceiverManager and DataSenderManager now aggregate metrics for some time before sending to reduce volume of calls in high-rate situations
  • DataReceiverManager tracks active sources via a map<int,bool> instead of a set<int> to avoid thread contention issues
  • Better poll handling in TCPSocketTransfer

Dependent Package Notes

  • artdaq_core v3_03_00
  • artdaq_utilities v1_04_07
  • art v2_11_01 (s67), v2_10_03 (s65), v2_10_02 (s64), v2_07_03 (s50)