You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "Jungtaek Lim (JIRA)" <ji...@apache.org> on 2014/11/15 04:07:33 UTC
[jira] [Commented] (STORM-556) netty Client reconnect bug
[ https://issues.apache.org/jira/browse/STORM-556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14213303#comment-14213303 ]
Jungtaek Lim commented on STORM-556:
------------------------------------
I response it based on current master, so you can checkout current master and see it helps.
(Need citation)
If channelRef is null, it does reconnect when task have a message to send (by send() method).
http://netty.io/4.0/api/io/netty/channel/Channel.html#isWritable()
http://stackoverflow.com/questions/11786528/can-a-netty-nio-channel-be-writable-but-not-connected#comment15913035_11791721
Seems like isWritable() return false if and only if write buffer is full. It doesn't check socket is broken.
So I think it doesn't always false.
> netty Client reconnect bug
> ---------------------------
>
> Key: STORM-556
> URL: https://issues.apache.org/jira/browse/STORM-556
> Project: Apache Storm
> Issue Type: Bug
> Affects Versions: 0.9.2-incubating
> Reporter: Xavier Fu
> Assignee: Xavier Fu
> Labels: ClientID, hangup, netty
>
> if a storm worker die then restarted and the nimbus reassign the task on the restarted worker with same host:port, the upstream task will not reconnect the host:port and the topology will hang up。
> because the connect has broken and netty Client flush timer
> if (null != channel && channel.isWritable()) {
> flush(channel);
> }
> always false.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)