ryan.jin created STORM-2561:
-------------------------------
Summary: Netty Client is closed but the Worker is already using
that Client.
Key: STORM-2561
URL: https://issues.apache.org/jira/browse/STORM-2561
Project: Apache Storm
Issue Type: Bug
Components: storm-core
Affects Versions: 0.10.1
Reporter: ryan.jin
Attachments: ClientClosed.txt
The Worker 's Netty Client is been closed and The field "closing" in
backtype.storm.messaging.netty.Client has been updated to "true".
{code:java}
@Override
public void close() {
if (!closing) {
LOG.info("closing Netty Client {}", dstAddressPrefixedName);
context.removeClient(dstAddress.getHostName(),dstAddress.getPort());
// Set closing to true to prevent any further reconnection attempts.
closing = true;
waitForPendingMessagesToBeSent();
closeChannel();
}
}
{code}
But the worker is already using that Netty Client. Because of the field
'closing' is true, Connect in the Client will never reconnecting the target.
{code:java}
public void run(Timeout timeout) throws Exception {
if (reconnectingAllowed()) {
.....
} else {
close();
throw new RuntimeException("Giving up to scheduleConnect to " +
dstAddressPrefixedName + " after " +
connectionAttempts + " failed attempts. " +
messagesLost.get() + " messages were lost");
}
{code}
{code:java}
private boolean reconnectingAllowed() {
return !closing;
}
{code}
So, How can me find the cause why Worker close the NettyClient while the
NettyClient is just working.
The logs is uploaded to Attachments by command "cat
stt-jstorm-spout-4-28-1497837924-worker-6709.log|grep '10.24.41.10:6710' >
/tmp/ClientClosed.txt".
Please let me know any other useful logs i can support.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)