[
https://issues.apache.org/jira/browse/STORM-1608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15187225#comment-15187225
]
ASF GitHub Bot commented on STORM-1608:
---------------------------------------
Github user revans2 commented on a diff in the pull request:
https://github.com/apache/storm/pull/1190#discussion_r55532861
--- Diff:
storm-core/src/jvm/org/apache/storm/topology/StatefulBoltExecutor.java ---
@@ -148,4 +148,19 @@ private void fail(List<Tuple> tuples) {
}
}
+ private static class AckTrackingOutputCollector extends
AnchoringOutputCollector {
+ private OutputCollector delegate;
+ private List<Tuple> ackedTuples;
+
+ AckTrackingOutputCollector(OutputCollector delegate) {
+ super(delegate);
+ this.delegate = delegate;
+ this.ackedTuples = new ArrayList<>();
--- End diff --
All access to ackedTuples should ideally be thread safe, as the
OutputCollector could be called from a different thread.
> 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)