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)