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 /
  • EMA /
avatar image
Question by ujjwal · Jan 18, 2017 at 05:32 PM · ema c++

Ema c++ library crashe on failover from ezd to cross_connect.

The failover works fine when failing over from one ezd to another ezd; It also works fine when failing over from one cross-connect to another cross-connect. However, it crashes when it failover from ezd to crossconnect (or vice versa).

FYI, EmaConfig uses ChannelSet with 2 channles; ezd and cross_connect; the Channel configuration for both are identical except the Host.

Attached are config and log files.

emalog-25983log.txt

emaconfigxml.txt

following is the stack trace

#0 0x000000000055e59a in thomsonreuters::ema::access::ItemCallbackClient::processStatusMsg(RsslMsg*, RsslReactorChannel*, RsslMsgEvent*) ()

#1 0x000000000055fb3e in thomsonreuters::ema::access::ItemCallbackClient::processCallback(RsslReactor*, RsslReactorChannel*, RsslMsgEvent*) ()

#2 0x00000000005ecadd in _reactorProcessMsg ()

#3 0x00000000005edd60 in _reactorWatchlistMsgCallback ()

#4 0x000000000060dee2 in wlItemRequestSendMsgEvent ()

#5 0x000000000060efa1 in wlItemRequestFindStream ()

#6 0x00000000005fa962 in wlServiceUpdateCallback ()

#7 0x00000000006135c6 in wlscSendUpdatedServiceList.part.10 ()

#8 0x0000000000615831 in wlServiceCacheProcessDirectoryMsg ()

#9 0x000000000060a896 in wlDirectoryProcessProviderMsgEvent ()

#10 0x00000000005fb67c in rsslWatchlistReadMsg ()

#11 0x00000000005edf5c in _reactorDispatchFromChannel ()

#12 0x00000000005efe20 in rsslReactorDispatch ()

#13 0x0000000000573549 in thomsonreuters::ema::access::OmmBaseImpl::rsslReactorDispatchLoop(long long, unsigned int, bool&) ()

#14 0x0000000000573a77 in thomsonreuters::ema::access::OmmBaseImpl::run() ()

#15 0x0000000000498b4a in thomsonreuters::ema::access::Thread::runThread(void*) ()

#16 0x0000003aa5807aa1 in start_thread () from /lib64/libpthread.so.0

#17 0x0000003aa54e8aad in clone () from /lib64/libc.so.6

emalog-25983log.txt (23.9 KiB)
emaconfigxml.txt (1.6 KiB)

People who like this

0 Show 1
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.

avatar image
REFINITIV
nick.zincone.1 ♦♦ · Jan 18, 2017 at 05:44 PM 0
Share

@ujjwal

Can you confirm if you are using the latest EMA C++ libraries? If not, do you see the same results?

4 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by veerapath.rungruengrayubkul · May 05, 2017 at 04:06 AM

[Summary]

This issue can be replicated in the scenario that EMA failover between servers providing same subscribed service name but different QoS attribute. In this question, it seems that the Traffic Management feature has been enabled on first EZD, so its QoS has been changed to just-in-time conflated instead of realtime.

The Elektron SDK 1.1.0 version provides the fix of this issue.

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 ujjwal · Jan 18, 2017 at 05:50 PM

I am using the latest version Elektron SDK 1.0.8

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
nick.zincone.1 ♦♦ · Jan 18, 2017 at 05:58 PM 0
Share

Is it possible that you can replicate the scenario with one of the example EMA C++ applications or one of the tutorials within the Developer portal? Ideally, the engineering teams will want to replicate the issue.

avatar image
Answer by ujjwal · Jan 18, 2017 at 06:32 PM

I took 100__MarketPrice__Streaming and did very minor change to take username, serviceman and ric from the command line. Also, I removed hardcoded host and used the above mentioned config file.

For some reason I am not able to Attach the modified Consumer.cpp;

All the changes are in main function. Which I am rewiring as below.

int main( int argc, char* argv[] )

{ 

        try { 

                AppClient client;

                OmmConsumer consumer( OmmConsumerConfig().username( argv[1] ) );

                consumer.registerClient( ReqMsg().serviceName( argv[2] ).name( argv[3] ), client );

                sleep( 60000 );                         // API calls onRefreshMsg(), onUpdateMsg(), or onStatusMsg()

        } catch ( const OmmException& excp ) {

                cout << excp << endl;

        }

        return 0;

}
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 veerapath.rungruengrayubkul · Jan 19, 2017 at 10:05 PM

I'm able to replicate the issue in my environment. My setup TREP has different versions: ads2.4.1 and ads3.0.4. I suspect that it is related to version difference.

I have been trying to create reproduction steps and will escalate the issue to the development.

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 >
9 People are following this question.

Related Questions

EMA CPP - Elecktron SDK - Callback for disconnection

IProvider downloading dictionary and serviceName\serviceId parameter

[EMA C++]How to get seqNum in RefreshMsg and updateMsg

which fun should I use if I want to get "Spread Table"

i m getting emalog file when run program of Ema C++ and i want to disable it. how to do it?

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • 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
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges