You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Bill Sobel (JIRA)" <ji...@apache.org> on 2016/11/02 00:27:58 UTC

[jira] [Created] (STORM-2183) BaseStatefulBoltExecutor does not handle cyclic graphs

Bill Sobel created STORM-2183:
---------------------------------

             Summary: 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


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)