question

Upvotes
Accepted
185 6 12 26

RFA api randomly takes considerable time before closing the event stream

Hello,

We are using RFA 8.1 C++ api to consume L1 and L2 market data. Lately we have observed that RFA takes considerable time (some times more than 1 min) to close the event after ``unregisterClient` is called. So if you refer below diagram then time lapsed between Event A and Event B is more than 1 minute some times.


This happens randomly. May I know why this can happen? We have been running same RFA application for more than a year now but never faced this issue. Only thing that have changed in last couple of weeks is we enabled Open DACS. I am not sure why this would cause a problem?


1695631055658.png


#technologyrfarfa-apiopen-dacs
1695631055658.png (31.7 KiB)
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.

Hi,

Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thank you,

AHS

Hi,

Please be informed that a reply has been verified as correct in answering the question, and marked as such.

Thank you,

AHS

1 Answer

· Write an Answer
Upvotes
Accepted
79.2k 251 52 74

@mktdata

Thank you for reaching out to us.

As I know, when the application calls the unregiterClient() to unregister an interest in market information, the API will send the close item request to TREP. However, TREP will not send anything back to the client.

Are you using the completion event when creating the OMMConsumer?

virtual OMMConsumer* rfa::sessionLayer::Session::createOMMConsumer    (    const rfa::common::RFA_String &     name,
bool     wCompEvents = false 
)

If yes, the RFA API will create a completion event and add the event into an event queue. Thus, if there are many events in the event queue, it can take sometime to get this completion event.

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.

@Jirapongse Yes we pass "wCompEvents = true". I am not sure how can we justify 1 minute 22 seconds response time that we have seen.

@mktdata

Did the application still get other events from the event queue after calling the unregister method?

The event queue may contain other events so the application needs to dispatch those events before getting the completion event.

Hi @mktdata , could you please kindly respond @Jirapongse 's question, so we investigate the issue further?

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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