question

Upvotes
Accepted
129 6 14 23

RFA MD subscriber - No quality of service

We have RFA C++ based subscriber application. The application is getting following message on subscription

INFO: Subject: xxx state: 4 status: "No Quality of Service is available to process subscription, timeout expired" status code: 3

Can you please explain when we can get "No quality of service" status?

treprfarfa-api
icon clock
10 |1500

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

Upvotes
Accepted
38.1k 71 35 53

The status message "No Quality of Service is available to process subscription, timeout expired" could be generated by RFA in these 4 situations.

1. RFA subscribes market data from the service that is currently down

xxx Status Status: No Quality of Service is available to process subscription, timeout expired State: 3 Status Code: 3

2. RFA subscribes market data from the service that doesn’t exist

xxx Status Status: No Quality of Service is available to process subscription, timeout expired State: 3 Status Code: 3

3. RFA subscribes market data and the specified QoS doesn’t match the QoS provided by the service

For example, the Qos of the service is real-time/tick-by-tick but the application specifies the best and worst QoS to be lower than real-time/tick-by-tick.

_pQoS->setBestTimeliness(rfa::common::QualityOfServiceRequest::realTime);
_pQoS->setWorstTimeliness(rfa::common::QualityOfServiceRequest::delayed);
_pQoS->setBestRate(rfa::common::QualityOfServiceRequest::justInTimeFilteredRate);
_pQoS->setWorstRate(rfa::common::QualityOfServiceRequest::slowestRate);
_pMarketDataItemSub->setRequestedQualityOfService(*_pQoS);

xxx Status Status: No Quality of Service is available to process subscription, timeout expired State: 3 Status Code: 3

4. The most common issue is that RFA C++ attempts to make request but the infrastructure fails to deliver the image within the recoveryTimeout + waitTimeout interval, RFA will mark the item "Closed Recover" (State = 4)

xxx Status Status: No Quality of Service is available to process subscription, timeout expired State: 4 Status Code: 3

In this scenario, state is ClosedRecover (4) and status code is NoResources (3). This could be the forth scenario. If the application subscribes to a lot of items, you may consider tuning the value of \Sessions\<session name>\recoverTimeout and \Sessions\<session name>\waitTimeout in RFA configurations.

icon clock
10 |1500

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

In this situation ,
4. The most common issue is that RFA C++ attempts to make request but the infrastructure fails to deliver the image within the recoveryTimeout + waitTimeout interval, RFA will mark the item "Closed Recover" (State = 4)

Is there a way to improve the situation from the infra perspective?

Also , would RFA Java see the same error log & what's the RFA tuning parameter for Java?

@jirapongse.phuriphanvichai, I am having the same issue with the message:

stt item:USDGBP status:No Quality of Service is available to process subscription, timeout expired state:3

However, I have not altered any of the QoS code, I can see that the feed is up (and using tickbytick and realTime) and I know data is exists for this item. I'm using v7.6 C++ with MarketData and SSLED connections. Could you shed any light on what I'm doing wrong/how to correct it?

Upvotes
1 0 0 0

@jirapongse.phuriphanvichai

I am seeing similar message. Lookin for suggestions to correct the issue. Thanks

12/19 18:21:38.941240 [2]: RfaFeed::ProcessMarketDataEvent(): Buffer Empty for [ELEKTRON_EDGE:ELEKTRON_EDGE.ANY.8795.T]: MsgType: Status, No Quality of Service is available to process subscription, timeout expired

12/19 18:21:38.941254 [6]: ReutersFeed::EmptyBufferReovery(): *** ERROR *** No Record Found for ELEKTRON_EDGE.ANY.8795.T

12/19 18:21:38.941281 [2]: RfaFeed::ProcessMarketDataEvent(): Buffer Empty for [ELEKTRON_EDGE:ELEKTRON_EDGE.ANY.9401.T]: MsgType: Status, No Quality of Service is available to process subscription, timeout expired

12/19 18:21:38.941284 [6]: ReutersFeed::EmptyBufferReovery(): *** ERROR *** No Record Found for ELEKTRON_EDGE.ANY.9401.T

icon clock
10 |1500

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

Click below to post an Idea Post Idea