question

Upvotes
Accepted
37 1 4 11

RFA library data lag

Hi,

I am raising an issue with regards to a support case number 10276834.

Our client has observed an issue with data being significantly delayed. The data is captured by our application which uses the RFA .NET library to subscribe to many thousands of RICs and process responses. We use Elektron with EZD tool to open the tunnel. We have been on several calls with Elektron backend team who have ruled out delay issues with Elektron distributing the messages. There are also no connection issues. What we are seeing is slow processing of responses for subscribed RICs.

What we have left to look at is the RFA library inside our application. We suspect that there is potentially an issue with the rate of processing received messages. We use the ProcessEvent delegate method to process received messages and also use the EventQueue via the Create method. I see that there are several Register methods in the EventQueue class which we don't use. In particular the RegisterHighThresholdNotificationClient method.

Are you able to advise:

1. If there are any limits/issues around throughput rates of received messages in this library?

2. If we can change any of the configuration to improve throughput

3. Would it be possible to organise a call to assist/review our use of this library

4. You have been made aware of similar issues in the past

5. Should we be using any of the HighThreshold methods of EventQueue

Thanks

Emir

elektronrefinitiv-realtimeelektron-sdkrrtema-apirfa-api.net
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
14.4k 24 8 12

Hello @emir.subasic

Could you please let us know the following information?

  • The version of RFA .Net API that you are using.
  • The RFA configurations.
  • Did you find any memory growth issues when the problem occur?

This issue may be a slow consumer problem ( i.e. the application cannot keep up with the update rate and the messages are filing up in the RFA event queue). You can find more detail regarding a slow consumer problem via the following old posts:

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
37 1 4 11

Hi,

No noticeable memory growth issues.

RFA v8.1

RFA Config

\Connections\Connection_RSSL\connectionType = "RSSL"

\Connections\Connection_RSSL\rsslPort = "14002"

\Connections\Connection_RSSL\hostName = "127.0.0.1"


\Logger\AppLogger\fileLoggerEnabled = true

\Logger\AppLogger\windowsLoggerEnabled = false


\Logger\ComponentLoggers\Connections\messageFile = "RFA8_Connections"

\Logger\ComponentLoggers\RSSL_Adapter\messageFile = "RFA8_RSSL_Adapter"

\Logger\ComponentLoggers\RSSL_Cons_Adapter\messageFile = "RFA8_RSSL_Cons_Adapter"

\Logger\ComponentLoggers\RSSL_Prov_Adapter\messageFile = "RFA8_RSSL_Prov_Adapter"

\Logger\ComponentLoggers\SessionCore\messageFile = "RFA8_SessionLayer"

\Logger\ComponentLoggers\Static\messageFile = "RFA8_MsgFile"


\Sessions\Session1\connectionList = "Connection_RSSL"


I will look at creating a secondary queue to deal with all responses and to remove all processing logic from the ProcessEvent method.


Thanks

Emir

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
37 1 4 11

Hi,

This indeed looked like a slow consumer issue.

Our new implementation is handling this much better now.

As a suggestion, it might be worthwhile to create an explicit code example that is high performant in the examples section so to avoid these kind of questions in the future.


Thanks

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.