Project

General

Profile

Feature #22379

Make requests that have InvalidTimestamp only cause issues if applied to Window mode

Added by Eric Flumerfelt 7 months ago. Updated 7 months ago.

Status:
Resolved
Priority:
Normal
Category:
-
Target version:
-
Start date:
04/15/2019
Due date:
% Done:

0%

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

Description

Right now, if SharedMemoryEventManager notices that if the first Fragment it receives for an event has a timestamp of InvalidTimestamp, it will not generate a request for that event.

It would be better to generate the request anyway, but if any of the BoardReaders are in a request mode which requires a timestamp (i.e. Window mode), then they should raise an error if they receive a request with an invalid timestamp.

History

#1 Updated by Eric Flumerfelt 7 months ago

  • Assignee set to Eric Flumerfelt
  • Status changed from New to Work in progress
  • Tracker changed from Idea to Feature

I've started to work on this on artdaq:feature/22379_CFG_InvalidTimestampInRequest. I have also made a change necessary for testing it on artdaq-demo:feature/22379_ToySimulator_TestInvalidTimestamp

#2 Updated by Eric Flumerfelt 7 months ago

  • Status changed from Work in progress to Resolved

Running request_based_dataflow_example with starting_timestamp: -1 in component01.fcl, I see the new error message from component03, and each event is released incomplete missing one Fragment (component02 is in Single pull mode and returns a Fragment despite the invalid timestamp).

#3 Updated by Kurt Biery 7 months ago

Hi Eric,
Please add some background information to this Issue so that we remember the discussion that prompted it.
Thanks,
Kurt

#4 Updated by Eric Flumerfelt 7 months ago

This issue came about because during SBND testing, the system would not run, and it took them some time to determine why. Their push-mode BR was making and sending Fragments, but they were never seeing requests coming from their EventBuilder. This can be a confusing situation, as there are several things which can cause requests to not get through, such as firewall settings. They were eventually able to pinpoint the issue (the push-mode BR was not putting timestamps in the Fragments, and the EventBuilder was refusing to generate requests as a consequence).

The motivation for this change is to allow invalid timestamps in requests in cases where the timestamp is irrelevant (Ignore, Single and Buffer request modes), and to provide a clear indication of the problem when it does matter (Window mode).



Also available in: Atom PDF