Failover for multiple NI Providers
I have an application setup to stream the same data to two ADH servers using an NI Provider. I am getting some weird failover behaviour and I'm not sure what might be going wrong.
- Start provider application that sends messages to both ADH servers
- Subscribe to Item using a separate application
- Ticks are successfully received.
- Turn off ADH1 which is acting as primary node. Subscriber get's notified and successfully starts receiving the data from the ADH2.
- Restart ADH1. Provider application reconnects and starts sending data there again.
- Stop ADH2 (acting as primary). Subscriber get's notified and pulls an IMAGE from ADH1
- Subscriber receives no further updates. But the publisher is still running.
- Restart ADH2. Provider connects and starts sending data.
- Stop ADH1 again. Subscriber now starts getting updates.
After I have gone through this initial failure cycle. You can successfully flip between both hosts repeatedly. I don't quite know why the first failback to ADH1 fails but after that everything is working.
Also to note, I can create the same behaviour in reverse. So if I start with ADH2 as the primary node then the first failback to ADH2 fails, subsequently you can flip servers without any issues.
Best Answer
-
Hi Wasin,
I have made a bit of progress with this issue after posting on the GitHub issues too. It turns out that the ServiceID set in the Directory message is defaulted by EMA to '0' on connection recovery. The subscription streams don't pick up the continuation of the publisher unless the Service ID is the same. Here's the issue:
https://github.com/thomsonreuters/Elektron-SDK/issues/33
My workaround is to always use '0' as the ServiceID. I haven't found any good documentation on the significance of the ServiceID. I seem to be able to publish to the same Item with two different NI Publishers using the same Service name and ServiceID. Do you have any links to documentation on the ServiceID?
0
Answers
-
Hello @tbaker
To let us check this issue in detail, could you please give us the following information?
- The ADH and Elektron SDK Java version that encounter the problem
- The RSSL trace file from the consumer side when the problem occurs. If you are using the EMA Java API, you can enable it by setting <XmlTraceToStdout value="1"/>
- You ADH and ADS configuration files
0 -
Hi @tbaker
There is the EMA Java RDM Usage Guide document that describes about the ServiceID in chapter 5 - Source Directory Domain. You can get the document from this link.
However, if you need more detail or clarification regarding the ServiceID behavior from development, I suggest you follow up in the GitHub issue.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛