You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "xiajun (JIRA)" <ji...@apache.org> on 2014/10/10 05:05:35 UTC

[jira] [Commented] (STORM-329) Add Option to Config Message handling strategy when connection timeout

    [ https://issues.apache.org/jira/browse/STORM-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14166213#comment-14166213 ] 

xiajun commented on STORM-329:
------------------------------

This patch have run on our product cluster for more than two weeks, the cluster has 1 nimbus and 6 supervisor on 7 machines, each supervisor has 6 worker at max. There is only one online topology run on the storm cluster. The topology runs very well, in order to verify block problem, I randomly kill some workers on different supervisor and at different time, through log I find that when some worker reconnect, other worker also send message meanwhile.

> Add Option to Config Message handling strategy when connection timeout
> ----------------------------------------------------------------------
>
>                 Key: STORM-329
>                 URL: https://issues.apache.org/jira/browse/STORM-329
>             Project: Apache Storm
>          Issue Type: Improvement
>    Affects Versions: 0.9.2-incubating
>            Reporter: Sean Zhong
>            Priority: Minor
>              Labels: Netty
>             Fix For: 0.9.2-incubating
>
>
> This is to address a [concern brought up|https://github.com/apache/incubator-storm/pull/103#issuecomment-43632986] during the work at STORM-297:
> {quote}
> [~revans2] wrote: Your logic makes since to me on why these calls are blocking. My biggest concern around the blocking is in the case of a worker crashing. If a single worker crashes this can block the entire topology from executing until that worker comes back up. In some cases I can see that being something that you would want. In other cases I can see speed being the primary concern and some users would like to get partial data fast, rather then accurate data later.
> Could we make it configurable on a follow up JIRA where we can have a max limit to the buffering that is allowed, before we block, or throw data away (which is what zeromq does)?
> {quote}
> If some worker crash suddenly, how to handle the message which was supposed to be delivered to the worker?
> 1. Should we buffer all message infinitely?
> 2. Should we block the message sending until the connection is resumed?
> 3. Should we config a buffer limit, try to buffer the message first, if the limit is met, then block?
> 4. Should we neither block, nor buffer too much, but choose to drop the messages, and use the built-in storm failover mechanism? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)