Closed sam-truscott closed 6 years ago
We have created a JIRA issue for this and are trying to reproduce. A fix will be in a future release.
We've been unable to reproduce this issue with the ESDK 1.1.1 release and the ESDK 1.2.0 release. We're assuming that since the exception happened with unregister(), you're calling unregister(). The exception simply means that the consumer is being uninitialized when unregister is called. Can you still reproduce this issue with ESDK 1.2.0? If so, can you give us very detailed instructions for reproducing?
Hi Bill, at the time of the call to unregister() we weren't calling uninitialise() but the SDK was probably re-initialising itself due to the dead channel but we're unable to synchronise on part of the SDK to avoid the problem.
What should a (API) caller do to avoid this problem?
It's a serious internal error if the SDK is re-initializing itself. So, any problems like these need to be addressed and there's no way for the API caller to recover. We've fixed many bugs between 1.1.1 and 1.2.0 so it's possible it's already fixed. But since we haven't been able to reproduce, we cannot know for sure. Can you still reproduce this issue with ESDK 1.2.0? If so, can you give us very detailed instructions for reproducing?
We've spent some time trying reproduce with a ChannelSet of 4 channels. Two of these channels (1 and 3) got the UnresolvedAddressException issue and the other 2 (2 and 4) are good. Start test with channel 2 up. EMA consumer gets UnresolvedAddressException for channel 1 and then reconnects to channel 2 and gets data. Then channel 2 is disconnected and EMA consumer reconnects to channel 3 and gets UnresolvedAddressException. After that, it reconnects to channel 4 and gets data. We never see the "ReactorCallbackReturnCodes.FAILURE was returned from defaultMsgCallback" that caused the unregister() issue. Please let us know if this is a correct test to reproduce the issue.
Hi,
We're using Elektron-SDK 1.1.1 and had a channel down event and the ChannelGroup contained a box that happened to be down. We actually had a few down. At startup the dead box is skipped and a good box is found.
However, after that box had an issue, it moves through the ChannelGroup and found another dead box at which point the Reactor gets a failure and the library throws exceptions.
Here are the logs - some details (e.g. name) have been removed.
This is followed by unregister/register messages throwing the following exception:
My suspicion is that the 'java.nio.channels.UnresolvedAddressException' other than at startup has caused a problem.
Sam