Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Elektron /
  • ETA /
avatar image
Question by RAJ · Oct 20, 2017 at 05:28 PM · elektronrefinitiv-realtimeelektron-sdkrrteta-apielektron-transport-apielektron-data-dictionaryservice-dictionary

How to manage dictionary across various services and connections

I use ETA C++ API in Linux. We use EaaS (EMS) service that has multiple connection points across multiple data centers.

Since the serviceId is used when requesting data dictionary, does the client application need to download dictionary for every service id in the same connection and use it to decode response for the respective services ?

What is the best practice for an ETA application in handling data dictionary across data centers for the same services ?

In other words, when my application fails over to a different IP in the same or different data center, can it reuse the dictionary for the same service Id between different ADS servers.

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

5 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by zoya faberov · Oct 23, 2017 at 11:37 AM

At any point of time, an ETA subscriber client is connected to only one infrastructure, via ADS. If a disconnect happens, followed by the reconnect, an ETA application is responsible for handling it, i.e. subscribing to and processing off, source directory and data dictionaries.

In the case of EMS infrastructure, yes, we expect the subscriber to get seeded with exact same dictionaries, but just in case an update took place just at the moment when the subscriber reconnected, I would pursue a consistent and safe approach, of requesting directory and dictionaries, on any connect, including a reconnect.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
Answer by RAJ · Oct 23, 2017 at 03:32 PM

@zoya.farberov

1. In case of EMS infrastructure, if the server provide data for multiple EMS services, do I need to request data dictionary for each service on a single connection ?

2. when you say "we expect the subscriber to get seeded with exact same dictionaries", are you saying that individual server IP's from different data center will share the same dictionary ?

3. This is a follow up question to #2. I'm planning to have my client application maintain a open connection to multiple IP's (for warm standby) from different data center for quick recovery. If the IP (primary) that I use to service my request goes down, I would like to route all my request to the second in line IP. In this case, I don't make a new connection that would initiate directory and dictionary requests. What do I do in this case ?

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
REFINITIV
Answer by zoya faberov · Oct 23, 2017 at 04:41 PM

1. The data dictionaries (field dictionary and enum dictionary) are per connection to the infrastructure, rather then per service. So no.

2. I expect EMS hosted infra to supply the latest general data dictionary. But, you want to write defensive, fully safe solution, and be prepared even against a rare contingency, when updates are applied to the infrastructure, etc. Also what if you at some point decide to work with a deployed infra? So, on establishing connection, we suggest to request the dictionaries.

3. Following up on 2, in the solution when you are looking to have two connections to two different infrastructures, I would assume nothing about the same dictionary being very likely, when the app establishes the connection to the infra, the app requests source directory and dictionaries from that infra, and uses for subscriptions to that infra.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
Answer by RAJ · Oct 24, 2017 at 05:02 PM

Is it possible to get an update for data dictionary on a open connection ?

Will TR disconnect the client before updating data dictionary forcing the client to re-initialize and re-request data dictionary ?

Comment

People who like this

0 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
REFINITIV
Jirapongse ♦♦ · Oct 25, 2017 at 12:29 AM 0
Share

Refer to RDMUsageGuide in RFA package, the dictionary domain doesn't use update message.

dict.png (59.1 KiB)
avatar image
REFINITIV
Answer by zoya faberov · Oct 31, 2017 at 11:02 AM

Hello @RAJ

Let me address the follow-up questions,

RDM Usage Guide explains this aspect in the following passage:

"

Though updates are not sent on dictionary streams, Thomson Reuters recommends that the consumer make a streaming request (setting ReqMsg.InterestAfterRefresh to true) so that it is notified whenever the dictionary version changes.

"

I.e. the dictionary update will not be published on the open stream. In the extremely rare event that the dictionary version changes on the infrastrcuture, the consumer will be notified on the open stream. To provision for this, the subscriber would need to re-request the dictionary.

There is not explicit provision to disconnect the client on the dictionary update.

Please keep in mind that marking your follow-up question as the correct answer is misleading to other developers, and effectively closes the discussion, does not seem you intend this?

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
11 People are following this question.

Related Questions

Requesting dictionary from RDF-D server using UPA/ETA

Is there a way to description for enumerated fields ?

Empty trade event

does streamState in RsslStatusMsg indicate status of a particular streamId?

building ETA library for RedHat 7 64 bit

  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Intelligent Tagging
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open Calais
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • RDMS
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • Workspace SDK
    • Element Framework
    • Grid
  • World-Check Data File
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges