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

Jungtaek Lim commented on STORM-870:
------------------------------------

In brief, it is intentional.

STORM-329 changes reconnection strategy, which is dropping messages while 
connection is unavailable.
[Guaranteeing message 
processing|https://storm.apache.org/documentation/Guaranteeing-message-processing.html]
 will replay tuple tree, so it has to be calculated whole tuple tree again, but 
it still guarantee at-least-once message processing.

Btw, Spout has its pending messages waiting for ack / fail / timeout to 
"memory", so sending ack to "new Spout" has no effect.
It means that Storm already relied on "at-least-once replay" at this situation 
before STORM-329.

Here's javadoc for Client.handleMessagesWhenConnectionIsUnavailable().
{quote}
We will drop pending messages and let at-least-once message replay kick in.
Another option would be to buffer the messages in memory.  But this option has 
the risk of causing OOM errors, especially for topologies that disable message 
acking because we don't know whether the connection recovery will succeed  or 
not, and how long the recovery will take.
{quote}

Hope this helps.
Since it is not a bug, I'll close this issue.

> Tuples emitted just before spout restarts are not acked/failed
> --------------------------------------------------------------
>
>                 Key: STORM-870
>                 URL: https://issues.apache.org/jira/browse/STORM-870
>             Project: Apache Storm
>          Issue Type: Bug
>    Affects Versions: 0.9.3, 0.9.4, 0.9.5
>            Reporter: Pradeep V Badiger
>
> The tuples emitted just before the spout restarts are never acked/failed 
> after the tuple tree completes. The spout never gets notified but the worker 
> log for the spout has the below log during its restart.
> 2015-06-18T14:47:01.430+0000 b.s.m.n.Client [ERROR] connection to 
> Netty-Client-localhost/127.0.0.1:6701 is unavailable
> 2015-06-18T14:47:01.433+0000 b.s.m.n.Client [DEBUG] successfully connected to 
> localhost/127.0.0.1:6701, [id: 0x9a243253, /127.0.0.1:36638 => 
> localhost/127.0.0.1:6701] [attempt 1]
> 2015-06-18T14:47:01.433+0000 b.s.m.n.Client [ERROR] dropping 1 message(s) 
> destined for Netty-Client-localhost/127.0.0.1:6701



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

Reply via email to