Why Connection to electron service keeps dropping every 15-20mins

I'm connecting using the Java API

Best Answer

  • Hello @vuk.magdelinic,

    I would differentiate two types of possible issues with the described scenario:

    1. Code related:

    If you run a standard example that came with SDK, with the same connection parameters as your custom application and it does not drop connection, then the issue is likely related to custom application code and needs to be investigated from the code perspective. One of the possible approach is divide and conquer - separate and remove pieces of custom code till you find a point when the connection drop does not occur, and that should allow to at least narrow down the possible causes and consequently come up with the solution.

    2. Connectivity and infrastructure related:

    If the standard example drops connection at the same or very close pattern, you are looking at the connectivity or infrastructure related issues. If you are connecting to Refinitiv Realtime Optimized or Refinitiv hosted, the first step is to check with Refinitiv Helpdesk Online -> Notifications and Alerts -> Service Alerts and if you don't find a relevant alert, open support ticket with Refinitiv Helpdesk Online to help you investigate the issue. If you are connecting to your local deployed infra, contact your market data/network admin/group to investigate the issue.

    I hope this information helps to proceed toward the resolution of the connection issue

«13

Answers

  • Here's the error I get:

    com.refinitiv.ema.access.OmmInvalidUsageExceptionImpl: RDMLogin stream was closed with status message

    username XXXXXX

    usernameType 1


    State: Closed/Suspect/Internal error from sender - text: "Login Denied:Failed to validate sso token"

  • Hello @vuk.magdelinic,

    In order for us to try to help further, please provide the complete details:

    Versions: of RTSDK or Elektron SDK, EMA or ETA, language, OS?

    Infra connectivity: is it Refinitiv Realtime Optimized in cloud, Refinitiv Realtime Hosted? a deployed infrustructure?

    Is the issue reproducible with one of the standard examples that came with your SDK, or only in a custom app?

    Is my understanding correct that you establish connectivity and subscription, you observe streaming data for 15-20 mins and only then your connection drops, and you observe this error message?

    Any other relevant information or details.

    Thanks


  • We use Java EMAfactory to connect to ELECKTRON_DD service.


    Pls point us to the standard examples as we couldn't find them.


    We establish connection, it lasts for 15-20mins and then dies without any error. Sometimes when we try to reestablish connection, we get the error pasted earlier. Other times we get the following error:

    java.lang.NullPointerException: null

    at com.thomsonreuters.ema.access.SingleItem.rsslSubmit(ItemCallbackClient.java:3047) ~[MarketPriceChain_KPL.jar:?]

    at com.thomsonreuters.ema.access.SingleItem.close(ItemCallbackClient.java:2902) ~[MarketPriceChain_KPL.jar:?]

    at com.thomsonreuters.ema.access.ItemCallbackClient.unregister(ItemCallbackClient.java:2301) ~[MarketPriceChain_KPL.jar:?]

    at com.thomsonreuters.ema.access.OmmBaseImpl.unregister(OmmBaseImpl.java:509) ~[MarketPriceChain_KPL.jar:?]

    at com.thomsonreuters.ema.access.OmmConsumerImpl.unregister(OmmConsumerImpl.java:167) ~[MarketPriceChain_KPL.jar:?]

    at com.thomsonreuters.platformservices.elektron.objects.marketprice.MarketPriceImpl.close(MarketPriceImpl.java:156) ~[MarketPriceChain_KPL.jar:?]

    at MarketPriceASKBID.SwapRates.fetchSwapData(SwapRates.java:201)

  • Are there any timeouts/timelimits before a connection expires and needs to be restarted?

    Last day, we had uninterrupted service for 4hrs and then it dropped twice

  • Sorry infastructure meaning?

  • Hello @vuk.magdelinic,

    Please see my previous questions, to try to help you determine what is happening:

    Versions: of RTSDK or Elektron SDK, EMA or ETA, language, OS?

    Infra connectivity: is it Refinitiv Realtime Optimized in cloud, Refinitiv Realtime Hosted? a deployed infrastructure?

    Is the issue reproducible with one of the standard examples that came with your SDK, or only in a custom app?

    Is my understanding correct that you establish connectivity and subscription, you observe streaming data for 15-20 mins and only then your connection drops, and you observe this error message?


  • Hello @vuk.magdelinic,

    I believe you are connecting to Refinitiv Real Time Optimized ( RRTO, also formerly Elektron Real in cloud).

    I do not know what SDK you are working with, you appear to be using EMA Java.

    In order to determine if the disconnects are related to connectivity interrupts, infra outages or are code-related, would like to suggest to run a simple standard EMA Java consumer that came with your SDK.

    For instance, in RTSDK 2.0 examples folder:

    ...\Ema\Examples\src\main\java\com\refinitiv\ema\examples\training\consumer\series400\ex430_MP_Authentication

    Example 430 = MarketPrice Authentication,

    And see if it faces the same connection issues as your custom code.

    Does this help, are you able to proceed?

  • Hi I hope you have read my responses to your questions.

    We are using EMA (ema-3.6.0.0.jar) in JAVA. On Unix

    We are connecting to RSSL_Encrypted

    Host: amer-3-t2.streaming-pricing-api.refinitiv.com Port 14002


    Does this give you some clarity??


    As explained multiple times, sometimes we see null pointer exception Error message, sometimes no error message

  • Hi I hope you have read my responses to your questions.

    We are using EMA (ema-3.6.0.0.jar) in JAVA. On Unix

    We are connecting to RSSL_Encrypted

    Host: amer-3-t2.streaming-pricing-api.refinitiv.com Port 14002


    Does this give you some clarity??


    As explained multiple times, sometimes we see null pointer exception Error message, sometimes no error message

  • In the Java jar file that I'm using I dont see \Ema\Examples\src\main\java\com\refinitiv\ema\examples\training\consumer\series400\ex430_MP_Authentication


    I see the following:

    com.refinitiv.platformservices.elektron.objects.commoncom.refinitiv.platformservices.elektron.objects.datacom.refinitiv.platformservices.elektron.objects.marketplace
  • Hello @vuk.magdelinic,

    Thank you for this confirmation. Appreciate your patience. You are on the latest RTSDK 2.x.

    As you mention you run on Unix, please refer to the latest API Compatibility Matrix, tab Operating System. I do not believe any UNIX/Solaris are certified for RTSDK/EMA. This is very likely the root cause of the problem.

    However, let me try to learn more. Both pre-built versions of RTSDK from Downloads and the complete source version available from GitHub RTSDK Repository includes complete set of our examples. Let's try to step back, do you see Examples folder that came with your version of RTSDK? This directory would not be part of the library itself, within EMA jar, this would be part of SDK, next to Docs and Libs?

    Will you able to step back, and test with our starter example, I would suggest following EMA Quickstart - Connecting to RRTO for complete sequence of steps, on one of the certified platforms, to confirm if the issue persists?

  • Hi @vuk.magdelinic

    Are you by any chance using the same Machine ID / password for multiple applications making multiple connections to RRTO ?

  • @chavalit.jintamalit Error I'm getting is this: (are you saying this is because of multiple connections?)

    java.lang.IllegalMonitorStateException

    at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)

    at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)

    at com.refinitiv.eta.transport.ReentrantLock.unlock(ReentrantLock.java:28)

    at com.refinitiv.eta.transport.RsslHttpSocketChannel.read(RsslHttpSocketChannel.java:1031)

    at com.refinitiv.eta.valueadd.reactor.Reactor.performChannelRead(Reactor.java:2816)

    at com.refinitiv.eta.valueadd.reactor.Reactor.dispatchChannel(Reactor.java:2481)

    at com.refinitiv.eta.valueadd.reactor.ReactorChannel.dispatch(ReactorChannel.java:574)

    at com.refinitiv.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1487)

    at com.refinitiv.ema.access.OmmBaseImpl.dispatch(OmmBaseImpl.java:598)

    at com.refinitiv.ema.access.OmmConsumerImpl.dispatch(OmmConsumerImpl.java:185)

    at com.refinitiv.platformservices.elektron.objects.common.DispatcherImpl.dispatchEventsUntilComplete(DispatcherImpl.java:49)

    at com.refinitiv.platformservices.elektron.objects.marketprice.MarketPriceImpl.waitForCompletion(MarketPriceImpl.java:346)

    at com.refinitiv.platformservices.elektron.objects.marketprice.MarketPriceImpl.open(MarketPriceImpl.java:146)

    at MarketPriceASKBID.SwapRates.fetchSwapData(SwapRates.java:142)

  • Hi @vuk.magdelinic

    I am looking at this error.

    State: Closed/Suspect/Internal error from sender - text: "Login Denied:Failed to validate sso token"

    Do you use the same Machine ID on more than one connection?

    Or did you by any chance happen to login with the same machine ID before around the time you got this error?

    Are you using the latest EMA API?

    Do you enableSessionManagement on EMA API?

    When you log in to get token, did you pass in takeExclusiveSignOnControl as True or False?

  • @chavalit.jintamalit pls look at the below error instead: (because Login denied error was probably when we were trying to reconnect the session every 15-20mins automatically)

    Java.lang.IllegalMonitorStateException

    at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)

    at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)

    at com.refinitiv.eta.transport.ReentrantLock.unlock(ReentrantLock.java:28)

    at com.refinitiv.eta.transport.RsslHttpSocketChannel.read(RsslHttpSocketChannel.java:1031)

    at com.refinitiv.eta.valueadd.reactor.Reactor.performChannelRead(Reactor.java:2816)

    at com.refinitiv.eta.valueadd.reactor.Reactor.dispatchChannel(Reactor.java:2481)

    at com.refinitiv.eta.valueadd.reactor.ReactorChannel.dispatch(ReactorChannel.java:574)

    at com.refinitiv.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1487)

    at com.refinitiv.ema.access.OmmBaseImpl.dispatch(OmmBaseImpl.java:598)

    at com.refinitiv.ema.access.OmmConsumerImpl.dispatch(OmmConsumerImpl.java:185)

    at com.refinitiv.platformservices.elektron.objects.common.DispatcherImpl.dispatchEventsUntilComplete(DispatcherImpl.java:49)

    at com.refinitiv.platformservices.elektron.objects.marketprice.MarketPriceImpl.waitForCompletion(MarketPriceImpl.java:346)

    at com.refinitiv.platformservices.elektron.objects.marketprice.MarketPriceImpl.open(MarketPriceImpl.java:146)

    at MarketPriceASKBID.SwapRates.fetchSwapData(SwapRates.java:142)

  • can you. pls advise why I see this error:

    java.lang.IllegalMonitorStateException

    at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)


    I'll look into the links you have provided. thanks!

  • Hi @vuk.magdelinic,

    Can you please confirm, if you observe this error on one of the supported OSs, according to API Compatibility Matrix and with one of the simple RTTO examples that came with EMA Java SDK, I would suggest either EMA Java MarketPrice 430 (service discovery) or if you prefer to test with the specific endpoint, please try EM Java Market price 113.

    This Quickstart Guide will take you through the quick steps on how to get started with example.

    Once the minimal example is running for you successfully, you can build up to your custom requirements.

    Does this make sense?

  • @zoya.farberov @chavalit.jintamalit did you guys look at this error? any update?


    Java.lang.IllegalMonitorStateException

    at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)

    at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)

    at com.refinitiv.eta.transport.ReentrantLock.unlock(ReentrantLock.java:28)

    at com.refinitiv.eta.transport.RsslHttpSocketChannel.read(RsslHttpSocketChannel.java:1031)

    at com.refinitiv.eta.valueadd.reactor.Reactor.performChannelRead(Reactor.java:2816)

    at com.refinitiv.eta.valueadd.reactor.Reactor.dispatchChannel(Reactor.java:2481)

    at com.refinitiv.eta.valueadd.reactor.ReactorChannel.dispatch(ReactorChannel.java:574)

    at com.refinitiv.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1487)

    at com.refinitiv.ema.access.OmmBaseImpl.dispatch(OmmBaseImpl.java:598)

    at com.refinitiv.ema.access.OmmConsumerImpl.dispatch(OmmConsumerImpl.java:185)

    at com.refinitiv.platformservices.elektron.objects.common.DispatcherImpl.dispatchEventsUntilComplete(DispatcherImpl.java:49)

    at com.refinitiv.platformservices.elektron.objects.marketprice.MarketPriceImpl.waitForCompletion(MarketPriceImpl.java:346)

    at com.refinitiv.platformservices.elektron.objects.marketprice.MarketPriceImpl.open(MarketPriceImpl.java:146)

  • Hello @vuk.magdelinic,

    Looking for the confirmation from you, that you are running on a supported platform according to the latest API Compatibility Matrix?

    Were you able to proceed as suggested, and reproduce the issue that you describe with connection being dropped after 15-20 min (that can potentially be caused by the Exception listed) with a simple standard example, as your connectivity is Refinitiv Real Time Optimized, one of the best suited examples that would be EMA Java Market Price Consumer 450, steps to run described in EMA Quickstart - Connecting to RRTO?

    That would narrow down the causes significantly for you. If the standard example reproduces the same issue - the issue is due to network connectivity or infra outages, if it does not, streams unabated- it's likely origin is in your custom application code.

    Further, as suggested by @chavalit.jintamalit, please advise, if several connections are made with the same machine ID in parallel, and if you only run one connection at a time, does the issue still manifest?

  • @zoya.farberov we dont seem to have access to the links you have provided. can you pls share them to us in an email?

  • Ok confirmed platform is supported as per the API compatibility matrix

  • Not sure what you mean by this --> If the standard example reproduces the same issue - the issue is due to network connectivity or infra outages, if it does not, streams unabated- it's likely origin is in your custom application code.

    We are on AWS with 100% availablity. So you need to investigate why your code throws an error? The sample also generates the same error

  • As mentioned several times, only 1 connection is being made

  • Hello @vuk.magdelinic,

    Please be more specific. Are you running on Unix, as you have mentioned before?

  • Hello @vuk.magdelinic,

    You will need to be logged into dev portal to access these materials:

    • What error do you get when you access the link?
    • Please try logging out of the portal, logging back in, and next accessing the materials, let us know if this allows you to access, or what error you get after logging out and back in?

    Quickstart guide is made available as online documentation, with linkage to other relevant and related documents.

  • Hello @vuk.magdelinic,

    As you are consistently experiencing an issue that we do not reproduce on our side.

    Please confirm,

    Were you able to download and test with our Quickstart example for AWS, and what are the results?

    Or are experiencing issues accessing quickstart, downloading/running the example and would like a hand with that?

    Thanks

  • Thanks @vuk.magdelinic,

    This eliminates a subset of possible issues.

  • I'm unable to download the zip file of the latest java sdk from downloads. Can you pls email it?

    I get a popup that asks me to setup my profile even though its already setup. When I fill it and press continue, it just keeps spinning with no update. refreshing it also doesnt help

  • We are using EC2 Centos8 which is supported by EMA.