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

ASF GitHub Bot commented on STORM-1608:
---------------------------------------

Github user revans2 commented on the pull request:

    https://github.com/apache/storm/pull/1190#issuecomment-193280978
  
    I didn't dig very deeply into the design of the stateful topology 
check-pointing so perhaps this is a very naive question, but why do all of the 
tuples flowing through need to be anchored/acked?  and if we get the 
anchoring/acking wrong what happens?  Will the state be messed up?  will we 
process things incorrectly?  Why do we even care if someone is OK with dropping 
tuples?
    
    What exactly is the contract that we have made between the bolts and the 
state checkpoint system?  Because this changes that contract, but I don't see 
any corresponding documentation change.
    
    What about the use case where someone does not ack a tuple, because they 
didn't expect it to be tracked, especially because we auto-anchored it for them 
in a previous bolt?
    
    Auto-anchoring feels like as big of a mistake as auto-acking something, 
unless we have a very explicit contract with end users to explain what they are 
and are not allowed to do.
    
    It makes me very nervous when we try to "fix" someone's code automatically 
for them assuming that we know what they are doing.  Personally if we cannot 
guarantee that we are fixing it correctly 100% of the time we should not be 
fixing it ever.
    
    I am +1 for this patch, but I would like to understand why we are also 
auto-anchoring emitted tuples, and I would like to know where the contract is 
documented with end users on what a bolt is and is not allowed to do in this 
system.
    
    I have quite a few other misgivings about this feature in general and need 
to dig into it myself, but this is not really the best place for them.


> Fix stateful topology acking behavior
> -------------------------------------
>
>                 Key: STORM-1608
>                 URL: https://issues.apache.org/jira/browse/STORM-1608
>             Project: Apache Storm
>          Issue Type: Bug
>    Affects Versions: 1.0.0, 2.0.0
>            Reporter: Arun Mahadevan
>            Assignee: Arun Mahadevan
>
> Right now the acking is automatically taken care of for the non-stateful 
> bolts in a stateful topology. This leads to double acking if BaseRichBolts 
> are part of the topology. For the non-stateful bolts, its better to let the 
> bolt do the acking rather than automatically acking.



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

Reply via email to