RFA ServicGroup and ServerList question
My client found RFA error when there are incident on infra
component. They use serverList parameter to configured two server in the list
and use service group to subscribe data. We expect RFA switching to the next
one in the list but it’s not. Application get following error instead and it
stop receiving data.
2017 Jun 14 15:47:03.945 ST GMT+07:00 3AF0 31C8539 TRACE <- Received MMT_LOGIN Status
- Login Accepted
streamState : Open
dataState: Ok
statusCode: None
statusText: RequestCompleted.
2017 Jun 14 15:47:03.972 ST GMT+07:00 3AF0 31C8596 TRACE <- Received MMT_MARKET_PRICE
Status EUR=
serviceName : SG1
symbolName: EUR=
streamState : ClosedRecover
dataState: Suspect
statusCode: None
statusText: <SG1> Source cannot provide this
QoS and capability.
And below is RFA configuration from the RFA subscriber.
\Connections\RSSL\connectionType = "RSSL"
\Connections\RSSL\connectionRetryInterval = 15000
\Connections\RSSL\serverList = "trep01:14007 trep08:14008"
\Connections\RSSL\serviceList=
"S1"
\ServiceGroups\SG1\serviceList=
"S1"
\Services\S1\feedName= "IDN_RDF"
\Sessions\Session1\connectionList = "RSSL"
\Sessions\Session1\ServiceGroupList = "SG1"
\Sessions\Session1\waitTimeout = 15000
From RSSL trace, it looks like the next server provide Delayed
QOS but the first one is Real Time. That why we cannot replicate the issue in
our test environment. Do you have any way to configure RFA to works on this
scenario?
Best Answer
-
From the status text, you do not receive any update because item stream already been closed(ClsedRecover).
Based on initial information you provided, RFA does not fail over to the next server because the next server does not provide the same QOS and capability like the first one. Basically RFA will get directory info from directory message and in this case it does not match with the first one.
I can replicate the message when testing your configuration with two instance of Provider_Interactive example from RFA C++ examples folder. For the first instance I set QOS Rate=RealTime Timeliness=TickbyTick . The second one I modified the application's config to send service DIRECT_FEED with QOS Rate=Delayed, Timeliness=30. Next step I just run StarterConsumer with your configuration and get same status text when shutdown the Provider. It can’t switch to next one in serverList.
A far as I understand this behavior can be changed by setting the QOS streamProperty to dynamicStream in the OMM item request message. In order to set the QOS streamProperty in the Item Request message, you have to add the following codes when you set the request message.
QualityOfServiceRequestqosReq;
qosReq.setStreamProperty(QualityOfServiceRequest::StreamPropertyEnum::DynamicStream);reqMsg.setRequestedQualityOfService(qosReq);
I have modifed StarterConsumer to add above codes when it send item request and then re-test with the Provider example. This time it can switch to next one as expect. Please add the codes to your application and test it with the server. If the problem persists, please turn on RSSL tracing log and open a new support ticket to API Support directly.
2
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛