question

Upvotes
Accepted
3 2 2 3

NullPointerException emaj 3.6.1.2 processing directory domain message

Hi Dev Team,

Recently we have encountered a NullPointerException processing directory domain message.
This happened after one of the services on TREP 3.5 was renamed so we suspect TREP sent a message that included a Delete for that old service name that was being renamed which caused the app to crash or at least that is our suspicion. Is this some kind of bug?

Thanks
Piotr


EMA Client v3.6.1.2

lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: Exception in thread "pool-5-thread-1" java.lang.NullPointerException
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.ema.access.DirectoryCallbackClient.processDirectoryPayload(DirectoryCallbackClient.java:405)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.ema.access.DirectoryCallbackClient.rdmDirectoryMsgCallback(DirectoryCallbackClient.java:217)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.Reactor.sendDirectoryMsgCallback(Reactor.java:2344)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.Reactor.sendAndHandleDirectoryMsgCallback(Reactor.java:2359)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.WlDirectoryHandler.callbackUser(WlDirectoryHandler.java:1416)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.WlDirectoryHandler.deleteAllServices(WlDirectoryHandler.java:738)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: Exception in thread "pool-5-thread-1" java.lang.NullPointerException
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.ema.access.DirectoryCallbackClient.processDirectoryPayload(DirectoryCallbackClient.java:405)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.ema.access.DirectoryCallbackClient.rdmDirectoryMsgCallback(DirectoryCallbackClient.java:217)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.Reactor.sendDirectoryMsgCallback(Reactor.java:2344)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.Reactor.sendAndHandleDirectoryMsgCallback(Reactor.java:2359)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.WlDirectoryHandler.callbackUser(WlDirectoryHandler.java:1416)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.WlDirectoryHandler.deleteAllServices(WlDirectoryHandler.java:738)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.WlDirectoryHandler.deleteAllServices(WlDirectoryHandler.java:1351)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.Watchlist.channelDown(Watchlist.java:446)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.Reactor.sendAndHandleChannelEventCallback(Reactor.java:1913)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.Reactor.performChannelRead(Reactor.java:3340)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.Reactor.dispatchChannel(Reactor.java:2529)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.eta.valueadd.reactor.ReactorChannel.dispatch(ReactorChannel.java:601)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1510)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at com.refinitiv.ema.access.OmmBaseImpl.run(OmmBaseImpl.java:1652)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2617]: at java.base/java.lang.Thread.run(Thread.java:834)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.WlDirectoryHandler.deleteAllServices(WlDirectoryHandler.java:1351)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.Watchlist.channelDown(Watchlist.java:446)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.Reactor.sendAndHandleChannelEventCallback(Reactor.java:1913)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.Reactor.performChannelRead(Reactor.java:3340)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.Reactor.dispatchChannel(Reactor.java:2529)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.eta.valueadd.reactor.ReactorChannel.dispatch(ReactorChannel.java:601)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.ema.access.OmmBaseImpl.rsslReactorDispatchLoop(OmmBaseImpl.java:1510)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at com.refinitiv.ema.access.OmmBaseImpl.run(OmmBaseImpl.java:1652)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
lis 27 01:15:21 rdb-srv-appl901.cityindex.co.uk java[2628]: at java.base/java.lang.Thread.run(Thread.java:834)


ema-apijavaexceptionrdm
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.

@piotr.g

Hi,

Thank you for your participation in the forum.

Is the reply below satisfactory in answering your question?

If yes please click the 'Accept' text next to the reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

Hello @piotr.g ,

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

Thanks,

-AHS

1 Answer

· Write an Answer
Upvotes
Accepted
78.8k 250 52 74

@piotr.g

I could replicate the same stack by changing a service ID of an existing service name.

For example, a source directory refresh message contains two services.

  • DIRECT_FEED (service Id : 1)
  • ELEKTRON_DD (service Id: 2)

Then, I sent a source directory update message to change the service ID of DIRECT_FEED

  • DIRECT_FEED (service Id: 3)

Next, I cut the connection. EMA showed the following exception.

1639642257661.pngTo confirm the problem, please enable the RSSLtracing by using the XmlTraceToStdout configuration. For example:

        <Consumer>
            <Name value="Consumer_1"/>
            <Channel value="Channel_1"/>
            <Dictionary value="Dictionary_2"/>
            <XmlTraceToStdout value="1"/>
        </Consumer>

Otherwise, if you are an RDC subscriber, you can contact the RDC support team directly via Contact Premium Support at https://developers.refinitiv.com/en/api-catalog/refinitiv-real-time-opnsrc/rt-sdk-java to investigate this issue.


1639642257661.png (63.0 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.

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.