[
https://issues.apache.org/jira/browse/STORM-2183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15676057#comment-15676057
]
yufeng.chen commented on STORM-2183:
------------------------------------
Storm topology is in the shape of a directed a cyclic graph(DAG), so I think
your description will not happen.
> BaseStatefulBoltExecutor does not handle cyclic graphs
> ------------------------------------------------------
>
> Key: STORM-2183
> URL: https://issues.apache.org/jira/browse/STORM-2183
> Project: Apache Storm
> Issue Type: Bug
> Components: storm-core
> Affects Versions: 1.x
> Environment: Java 1.8
> Reporter: Bill Sobel
> Labels: State, cyclic
> Original Estimate: 96h
> Remaining Estimate: 96h
>
> BaseStatefulBoltExecutor::getCheckpointInputTaskCount() returns the number of
> sources that a state transaction must wait for to process a transaction. In
> a graph where there is a loop (e.g. A->B->C->D->C) components 'C' and 'D' the
> required number of tuples can will never be received. The function
> shouldProcessTransaction will never receive the correct number of tuples,
> because the set required to come back form 'D' to 'C' will never be forwarded
> from 'C' to 'D' to begin with.
> Bolt 'C' and 'D' never finish the state initialization step and as such will
> never pass tuples to their wrapped bolt.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)