Project

General

Profile

Bug #20636

Avoid duplicate sending of data requests from EventBuilders to BoardReaders

Added by Kurt Biery about 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
08/17/2018
Due date:
% Done:

0%

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

Description

While debugging the system at protoDUNE, we noticed that data requests were being sent out from EventBuilders at a higher rate than expected. Here is an excerpt from the trace log which shows duplicate request messages:

This was traced to SendRequests calls in both SharedMemoryEventManager::getBufferForSequenceID_ and RequestSender::AddRequest.

The fix was to only call SendRequests in SMEM if AddRequests is not called.

The code changes has been committed the artdaq repository on the feature/AvoidDoubleSendingOfRequests branch.

History

#1 Updated by Kurt Biery about 2 years ago

Oops, forgot to provide the trace buffer sample.

2682501 08-16 19:24:44.587696 26034 37404  32             EventBuilder6_RequestSender d04 . Done sending RoutingToken to np04-srv-001:13010
2682503 08-16 19:24:44.587645 26034 37404  32             EventBuilder6_RequestSender d04 . Sending RoutingToken to np04-srv-001:13010
2682504 08-16 19:24:44.587637 26034 37404  32             EventBuilder6_RequestSender d04 . send_routing_token_ called, send_routing_tokens_=true
2684985 08-16 19:24:44.229424 26034 37398  32             EventBuilder6_RequestSender d04 . Done sending request hdrsts=12 pktsts=24
2684986 08-16 19:24:44.229370 26034 37398  32             EventBuilder6_RequestSender d04 . Sending request for 1 events to multicast group 227.128.12.28
2684987 08-16 19:24:44.229359 26034 37397  21             EventBuilder6_RequestSender d04 . Done sending request hdrsts=12 pktsts=24
2684988 08-16 19:24:44.229349 26034 37398  32             EventBuilder6_RequestSender d04 . Setting mode flag in Message Header
2684989 08-16 19:24:44.229338 26034 37398  32             EventBuilder6_RequestSender d12 . Adding a request with sequence ID 1725, timestamp 35190460694704 to request message
2684990 08-16 19:24:44.229334 26034 37397  21             EventBuilder6_RequestSender d04 . Sending request for 1 events to multicast group 227.128.12.28
2684991 08-16 19:24:44.229333 26034 37398  32             EventBuilder6_RequestSender d04 . Creating RequestMessage
2684992 08-16 19:24:44.229326 26034 37397  21             EventBuilder6_RequestSender d04 . Setting mode flag in Message Header
2684993 08-16 19:24:44.229320 26034 37397  21             EventBuilder6_RequestSender d12 . Adding a request with sequence ID 1725, timestamp 35190460694704 to request message
2684994 08-16 19:24:44.229305 26034 37397  21             EventBuilder6_RequestSender d04 . Creating RequestMessage
2685053 08-16 19:24:44.219266 26034 37398  32             EventBuilder6_RequestSender d04 . Waiting for 10000 microseconds.
2685058 08-16 19:24:44.219242 26034 37397  21             EventBuilder6_RequestSender d04 . Waiting for 10000 microseconds.
2685060 08-16 19:24:44.219160 26034 27314  20             EventBuilder6_RequestSender d12 . Adding request for sequence ID 1725 and timestamp 35190460694704 to request list.
2685371 08-16 19:24:44.173251 26034 37396  32             EventBuilder6_RequestSender d04 . Done sending RoutingToken to np04-srv-001:13010
2685373 08-16 19:24:44.173119 26034 37396  32             EventBuilder6_RequestSender d04 . Sending RoutingToken to np04-srv-001:13010
2685374 08-16 19:24:44.173092 26034 37396  32             EventBuilder6_RequestSender d04 . send_routing_token_ called, send_routing_tokens_=true
2687374 08-16 19:24:44.026491 26034 37392  32             EventBuilder6_RequestSender d04 . Done sending request hdrsts=12 pktsts=24
2687375 08-16 19:24:44.026433 26034 37392  32             EventBuilder6_RequestSender d04 . Sending request for 1 events to multicast group 227.128.12.28
2687376 08-16 19:24:44.026425 26034 37391  21             EventBuilder6_RequestSender d04 . Done sending request hdrsts=12 pktsts=24
2687377 08-16 19:24:44.026407 26034 37392  32             EventBuilder6_RequestSender d04 . Setting mode flag in Message Header
2687378 08-16 19:24:44.026401 26034 37392  32             EventBuilder6_RequestSender d12 . Adding a request with sequence ID 1721, timestamp 35190450602160 to request message
2687379 08-16 19:24:44.026396 26034 37392  32             EventBuilder6_RequestSender d04 . Creating RequestMessage
2687380 08-16 19:24:44.026390 26034 37391  21             EventBuilder6_RequestSender d04 . Sending request for 1 events to multicast group 227.128.12.28
2687381 08-16 19:24:44.026383 26034 37391  21             EventBuilder6_RequestSender d04 . Setting mode flag in Message Header
2687382 08-16 19:24:44.026377 26034 37391  21             EventBuilder6_RequestSender d12 . Adding a request with sequence ID 1721, timestamp 35190450602160 to request message
2687383 08-16 19:24:44.026358 26034 37391  21             EventBuilder6_RequestSender d04 . Creating RequestMessage
2687459 08-16 19:24:44.016331 26034 37392  32             EventBuilder6_RequestSender d04 . Waiting for 10000 microseconds.
2687469 08-16 19:24:44.016298 26034 37391  21             EventBuilder6_RequestSender d04 . Waiting for 10000 microseconds.
2687472 08-16 19:24:44.016219 26034 27314  20             EventBuilder6_RequestSender d12 . Adding request for sequence ID 1721 and timestamp 35190450602160 to request list

#2 Updated by Kurt Biery about 2 years ago

Here is a sample trace buffer after the code change:

906579 08-17 19:48:37.891565 23547 25494  31             EventBuilder8_RequestSender d04 . Done sending request hdrsts=12 pktsts=72
 906580 08-17 19:48:37.891547 23547 25494  31             EventBuilder8_RequestSender d04 . Sending request for 3 events to multicast group 227.128.12.28
 906581 08-17 19:48:37.891544 23547 25494  31             EventBuilder8_RequestSender d04 . Setting mode flag in Message Header
 906582 08-17 19:48:37.891540 23547 25494  31             EventBuilder8_RequestSender d12 . Adding a request with sequence ID 225, timestamp 237540393136 to request message
 906583 08-17 19:48:37.891539 23547 25494  31             EventBuilder8_RequestSender d12 . Adding a request with sequence ID 224, timestamp 237537870000 to request message
 906584 08-17 19:48:37.891538 23547 25494  31             EventBuilder8_RequestSender d12 . Adding a request with sequence ID 223, timestamp 237520208048 to request message
 906585 08-17 19:48:37.891534 23547 25494  31             EventBuilder8_RequestSender d04 . Creating RequestMessage
 906586 08-17 19:48:37.891451 23547 25493  21             EventBuilder8_RequestSender d04 . Done sending request hdrsts=12 pktsts=72
 906587 08-17 19:48:37.891422 23547 25493  21             EventBuilder8_RequestSender d04 . Sending request for 3 events to multicast group 227.128.12.28
 906588 08-17 19:48:37.891418 23547 25493  21             EventBuilder8_RequestSender d04 . Setting mode flag in Message Header
 906589 08-17 19:48:37.891408 23547 25493  21             EventBuilder8_RequestSender d12 . Adding a request with sequence ID 225, timestamp 237540393136 to request message
 906590 08-17 19:48:37.891407 23547 25493  21             EventBuilder8_RequestSender d12 . Adding a request with sequence ID 224, timestamp 237537870000 to request message
 906591 08-17 19:48:37.891405 23547 25493  21             EventBuilder8_RequestSender d12 . Adding a request with sequence ID 223, timestamp 237520208048 to request message
 906592 08-17 19:48:37.891392 23547 25493  21             EventBuilder8_RequestSender d04 . Creating RequestMessage
 906616 08-17 19:48:37.881476 23547 25494  31             EventBuilder8_RequestSender d04 . Waiting for 10000 microseconds.
 906626 08-17 19:48:37.881429 23547 24693   0             EventBuilder8_RequestSender d12 . Adding request for sequence ID 225 and timestamp 237540393136 to request list.
 906678 08-17 19:48:37.881331 23547 25493  21             EventBuilder8_RequestSender d04 . Waiting for 10000 microseconds.
 906684 08-17 19:48:37.881260 23547 24693   0             EventBuilder8_RequestSender d12 . Adding request for sequence ID 224 and timestamp 237537870000 to request list.
 908799 08-17 19:48:37.589591 23547 25479  31             EventBuilder8_RequestSender d04 . Done sending request hdrsts=12 pktsts=24
 908800 08-17 19:48:37.589559 23547 25479  31             EventBuilder8_RequestSender d04 . Sending request for 1 events to multicast group 227.128.12.28
 908801 08-17 19:48:37.589553 23547 25479  31             EventBuilder8_RequestSender d04 . Setting mode flag in Message Header
 908802 08-17 19:48:37.589546 23547 25479  31             EventBuilder8_RequestSender d12 . Adding a request with sequence ID 223, timestamp 237520208048 to request message
 908803 08-17 19:48:37.589534 23547 25479  31             EventBuilder8_RequestSender d04 . Creating RequestMessage
 908867 08-17 19:48:37.579462 23547 25479  31             EventBuilder8_RequestSender d04 1 Waiting for 10000 microseconds.
 908873 08-17 19:48:37.579428 23547 24693   1             EventBuilder8_RequestSender d12 . Adding request for sequence ID 223 and timestamp 237520208048 to request list

#3 Updated by Eric Flumerfelt about 2 years ago

  • Status changed from Assigned to Resolved

feature/AvoidDoubleSendingOfRequests merged into feature/pdune_ron_Aug01. Marking as resolved.

#4 Updated by Eric Flumerfelt almost 2 years ago

  • Status changed from Resolved to Closed
  • Target version set to artdaq v3_03_00


Also available in: Atom PDF