question

Upvotes
Accepted
1 1 2 2

OmmInvalidHandleExceptionImpl invalid handle exception

SEVERE: [{"incidentClass":"Uncaught OmmInvalidHandleExceptionImpl in DataPublisher","details":{"pool":"Publisher ","reporter:ClassInfo":{"simpleName":"N6ThreadFactory","module":{"image":"\/server\/images\/server.png","name":"Server"},"name":"com.markit.n6platform.server.system.threads.internal.thread.N6ThreadFactory"}},"stackTrace":"Exception Type='OmmInvalidHandleException', Text='loggerMsg\n ClientName: ItemCallbackClient\n Severity: Error\n Text: Attempt to use invalid Handle on submit(PostMsg). Instance name='Consumer_1_1'.\nloggerMsgEnd\n\n', Handle='2'\r\n\tat com.refinitiv.ema.access.OmmBaseImpl.ommIHExcept(OmmBaseImpl.java:1610)\r\n\tat com.refinitiv.ema.access.OmmConsumerImpl.handleInvalidHandle(OmmConsumerImpl.java:516)\r\n\tat com.refinitiv.ema.access.ItemCallbackClient.submit(ItemCallbackClient.java:2380)\r\n\tat com.refinitiv.ema.access.OmmBaseImpl.submit(OmmBaseImpl.java:552)\r\n\tat com.refinitiv.ema.access.OmmConsumerImpl.submit(OmmConsumerImpl.java:177)\r\n\tat com.ihsmarkit.n6platform.mlip.publishing.internal.RefinitivClient.postMessage(RefinitivClient.java:135)\r\n\tat com.ihsmarkit.n6platform.mlip.publishing.internal.PublisherTask.run(PublisherTask.java:49)\r\n\tat java.base\/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\r\n\tat java.base\/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\r\n\tat java.base\/java.lang.Thread.run(Thread.java:829)\r\n"}]

Exception Type='OmmInvalidHandleException', Text='loggerMsg

ClientName: ItemCallbackClient

Severity: Error

Text: Attempt to use invalid Handle on submit(PostMsg). Instance name='Consumer_1_1'.

loggerMsgEnd


', Handle='2'

at com.refinitiv.ema.access.OmmBaseImpl.ommIHExcept(OmmBaseImpl.java:1610)

at com.refinitiv.ema.access.OmmConsumerImpl.handleInvalidHandle(OmmConsumerImpl.java:516)

at com.refinitiv.ema.access.ItemCallbackClient.submit(ItemCallbackClient.java:2380)

at com.refinitiv.ema.access.OmmBaseImpl.submit(OmmBaseImpl.java:552)

at com.refinitiv.ema.access.OmmConsumerImpl.submit(OmmConsumerImpl.java:177)

elektronrefinitiv-realtimeelektron-sdkema-apirrtjavaommconsumer
icon clock
10 |1500

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

Hi @badal.vishal

I moved your question to "EMA" forum.

Thanks.

Hello @badal.vishal

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS


Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,


AHS

Upvote
Accepted
25.3k 87 12 25

Hi @badal.vishal

Looking at the above output, I see the Error 'Attempt to use invalid Handle on submit(PostMsg).

This would suggest that the application is trying to submit a Post using a handle for a stream that has been closed off.

Are there any other status messages etc to indicate the connection was lost?

Also, as recommended in the tutorial, are you establishing 'two simultaneous connections, to two different servers' - so that you can handle any connectivity issues and switch to the other connection with minimal interruption?

I am assuming this was a one-off? If so can you post the date&time of occurrence so I can check with the RCC team if there were any know issues around that time?

icon clock
10 |1500

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

Does it go down after a certain time of inactivity like no publishing for 5 mins? Should I send a heartbeat after a certain interval to keep it alive? Or it is just a intermittent lost connectivity issue?
Upvotes
24.7k 54 17 14

Hello @badal.vishal

Basically, the API automatically sends a heartbeat message between itself and the server.

How often the issue occurs? Are there any disconnection logs when the problem occurs?

Beside the information requested by my colleague, if you can replicate the issue on demand, you may enable the RSSL log and share the file in this post (please remove your credentials).

Please see the "EMA Java Logging" section of the Enterprise Message API (EMA) - Configuration Overview article about how to enable the EMA Log.

icon clock
10 |1500

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

Upvotes
1 1 2 2

I have monitored that this error recovers itself.

icon clock
10 |1500

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

Upvotes
1 1 2 2

Out of 8203 agreed RICs that we publish data on –

  1. Many of them are “Denied by source” which looks like is that these RICs are disabled at your side
  2. Publishing to many other RICs sends the Ack message with “Symbol unknown”
  3. For some of the publishing, we receive “No Response” timeout or “csg failed to respond” in Ack message.

Can you please check and confirm these messages?

Please note that we can’t track all RICs with one of these nack codes as Ack message has no RIC in response.

Also, I don’t know if this is the right platform to ask but when we publish in high volume, we see issue in getting Ack message for each publishing.

Can we rely on Ack message to check the successful publishing? Please guide on this as well.

icon clock
10 |1500

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

Upvotes
24.7k 54 17 14

Hello @badal.vishal

The "Denied by source" and "Symbol unknown" issues are permission issues. I suggest you contact your Refinitiv representative to help you verify your permission and the RIC names that allow you to contribute.

Regarding the 3rd issue, do you connect to RCC via TRDS (ADS-ADH) or a direct connection?

I suggest you contact the RCC support team to help verify the issue. You can submit a ticket to the RCC support team via my.refinitiv.com website and select the "Refinitiv Contribution Channel" product name.

rcc-myrefinitiv.png


rcc-myrefinitiv.png (12.6 KiB)
icon clock
10 |1500

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

Upvotes
1 1 2 2

It is a direct connection, what I gather from different sources and this forum is - whatever postId I send, comes back as AckId for that RIC publishing. Am I right in this approach?

icon clock
10 |1500

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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