[ 
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)

Reply via email to