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

Jungtaek Lim commented on STORM-2824:
-------------------------------------

We are saying it to processing "guarantee", so we can't treat any cases to be 
rare and ignore. If we have any small chance to lose tuple to be not processed, 
that's not "exactly-once" and even not "at-least-once".

AFAIK there're some kinds of ways around guaranteeing "exactly-once" (mostly 
with some preconditions), and that might be fun to you if you can refer how to 
guarantee "exactly-once" from other streaming frameworks as well.

> Ability to configure topologies for exactly once processing
> -----------------------------------------------------------
>
>                 Key: STORM-2824
>                 URL: https://issues.apache.org/jira/browse/STORM-2824
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: storm-core
>    Affects Versions: 1.0.1
>         Environment: CentOS 7, Docker
>            Reporter: Anton Alfred
>            Priority: Minor
>
> The default implementation of a spout  (Kafka) is to wait for 
> acknowledgement, if an acknowledgement is not provided the tuple is replayed 
> leading to an at least once processing model.
> Can an option be provided to always acknowledge even in the event of error in 
> any spout or bolt and the user decide which mode the topology should be 
> configured.
> There are cases like multiple bolts (B) inserting to persistent stores (PS) 
> like B1 - PS1, B2-PS2, B3-PS3, the fact that B2-PS2 bolt fail doesn't mean 
> that the tuple needs to be replayed leading to complexity on the logic of 
> bolts, it would be easier if this was configurable and the user of the 
> topology decides which style to choose.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to