Handling of connection issues within Refinitv Elektron SDK API
We use Refinitv Elektron SDK API (ema.jar, upa.jar, upaValueAdd.jar version 3.5.0.0) to connect to Refinitiv to get market data.
Looking for some insights on how the Refinitv Elektron SDK API library internally handles the following connection event scenarios and what type of login stream events are mapped to these:
Scenario A
Refinitiv servers doesn’t receive any update from TWEB server due to some connection issues. But the ClientComponent (connecting to Refinitiv using Refinitv Elektron SDK API) has an active/healthy connection with the Refinitiv servers. Will information around this error scenario will be supplied to ClientComponent via StatusMsg ? If so what would be that StatusMsg look like ?
Scenario B
Does “Refinitv Elektron SDK API” internally sends some heartbeat messages to the “Refinitiv Servers”. Scenario: If the connection of the “ClientComponent using Elektron SDK API” is active with the “Refinitiv Servers”, but no updates are being received for X time, does the API mark the data as stale (and provide this information to the “ClientComponent”) ?
Best Answer
-
Hi @hardeepsangha,
Please note, EMA API will fully handle connection maintenance aspect on behalf of the application. The consumer code will not need to take any action on that.
I would not recommend modifying the default, recommended timeout setting. However, it is exposed as Channel -> ConnectionPingTimeout and perhaps InitializationTimeout, please see the descriptions in EMA Configuration Guide, in section Universal Channel Entry Parameters.
If you are looking to re-implement this handling, ETA allows to do so, as Transport tier API, it offers the greatest flexibility but also it requires significantly more effort to complete, on the part of the developer.
You can test this aspect in your local environment, by running one of the simple consumer examples that came with SDK (extending to run longer then standard 90 sec is probably convenient for this purpose), and either plugging out the relevant network connection or disconnecting the relevant WiFi connection.
0
Answers
-
Hello @hardeepsangha,
In ETA Java Developer Guide (state and status is conveyed to EMA application), section State please find the relevant information on State. Data state would reflect the disconnect of the publisher/source in this case Trade Web Server, the client/API loosing connection to infra will be reflected in stream state. I.e. if the client/API losses connectivity, we expect open streams such as Login, Dictionary, Channel to be CLOSED. It's preferable to examine state code, rather then text message, as those may change with the versions of the API.
Would like to suggest also reviewing ChannelSet concept in EMA Configuraion Guide. If you have the connectivity to two endpoint and use ChannelSet, EMA will handle the failover on behalf of the consumer app.
Please see Single Open in EMA Developer Guide, it is the default, and handles any subscriptions to items on reconnect, they will be recovered by the API.
0 -
Hi zoya.farberov ,
Thanks for sharing the information. I read the relevant information around streamState/dataState.
Can you please share some details around "Scenario B". Whether API sends some hearbeats to Refinitiv Servers / what is the frequency of sending heartbeats / what is the configured value of timeouts is ?
I assume that if heartbeats are missed then the streamState will be updated to convey this information.
0 -
You may also find the following article interesting The Mechanics of EMA Connection and Item Recovery | Refinitiv Developers
0
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 中文论坛