Hi,
We faced a Runtime Exception recently which causes our application to stop working abruptly and we had to restart the application manually and everything started working smoothly after that. I am sharing the chain of event with logs we faced that time for your reference.
1. We got a “Login stream was closed” error status and we restarted the application.
2. The application became ACTIVE @2024-09-22 13:42:31,730
3. Immediately then when we were trying to establish the connection, we received the following Runtime Exception generated from ema library which left the application blocked at some point.
024-09-22 13:42:31,793 Subscription status = Open / Ok / None / '*All is well'
java.lang.NullPointerException
at com.refinitiv.eta.codec.RmtesDecoderImpl.RMTESToUTF8(RmtesDecoderImpl.java:1082)
at com.refinitiv.eta.json.converter.BasicPrimitiveConverter.writeRMTESString(BasicPrimitiveConverter.java:1181)
at com.refinitiv.eta.json.converter.EnumTableDefinition.addEnumDefinition(EnumTableDefinition.java:104)
at com.refinitiv.eta.json.converter.JsonEnumerationConverter.convertDisplayToEnum(JsonEnumerationConverter.java:95)
at com.refinitiv.eta.json.converter.JsonEnumerationConverter.encodeRWF(JsonEnumerationConverter.java:156)
at com.refinitiv.eta.json.converter.JsonConverterBaseImpl.decodeChunk(JsonConverterBaseImpl.java:829)
at com.refinitiv.eta.json.converter.JsonFieldListConverter.encodeRWF(JsonFieldListConverter.java:169)
at com.refinitiv.eta.json.converter.JsonConverterBaseImpl.decodeChunk(JsonConverterBaseImpl.java:829)
at com.refinitiv.eta.json.converter.AbstractRsslMessageTypeConverter.encodeMsgPayload(AbstractRsslMessageTypeConverter.java:140)
at com.refinitiv.eta.json.converter.AbstractRsslMessageTypeConverter.encodeRWF(AbstractRsslMessageTypeConverter.java:60)
at com.refinitiv.eta.json.converter.JsonConverterBaseImpl.decodeRsslMessage(JsonConverterBaseImpl.java:796)
at com.refinitiv.eta.json.converter.JsonConverterBaseImpl.decodeJsonMsg(JsonConverterBaseImpl.java:194)
at com.refinitiv.eta.valueadd.reactor.Reactor.performChannelRead(Reactor.java:4865)
at com.refinitiv.eta.valueadd.reactor.Reactor.dispatchAll(Reactor.java:7775)
at com.refinitiv.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1836)
at com.refinitiv.ema.access.OmmBaseImpl.run(OmmBaseImpl.java:1985)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Can you please share some insights on which EMA library API call may throw this kind of exception so that we can plan some defensive action at our end as well to handle this scenario.