Ah Thanks Bobby!  That was the piece I was missing then.

On Mon, Nov 16, 2015 at 10:24 PM, Bobby Evans
<ev...@yahoo-inc.com.invalid> wrote:
> You are correct about the put restarting the clock for removing the tuple 
> tree from the acker map, but the timeout code in the acker does not trigger a 
> timeout of a tuple, it just purges the tuple from the ackers memory.  The 
> timeout code for a tuple is actually in the spout.  It has a corresponding 
> RotatingMap
> https://github.com/apache/storm/blob/master/storm-core/src/clj/backtype/storm/daemon/executor.clj#L493
> It does a put once, when the tuple is emitted, and when it expires the fail 
> is called.
>  - Bobby
>
>
>      On Monday, November 16, 2015 6:46 AM, Stephen Powis 
> <spo...@salesforce.com> wrote:
>
>
>  I'm trying to better understand the acker behavior and how it deals
> with tuple time outs.  I've read the documentation on the storm
> website, but from my rudimentary knowledge of clojure, it seems like
> the docs and the code don't completely align (or I'm completely
> missing something)
>
> The short of it is I'm wondering if the line linked below in acker.clj
> resets the tuple timeout value every time a bolt acks a tuple:
> https://github.com/apache/storm/blob/master/storm-core/src/clj/backtype/storm/daemon/acker.clj#L65
>
> It seems like for every tuple coming into the acker, it calls
> rotatingMap.put() on the instance, which in turn resets its timeout
> countdown.
>
> Does this sound correct?
>
>
>

Reply via email to