Stig Rohde Døssing created STORM-1837:
-----------------------------------------

             Summary: Running local clusters without simulating time breaks 
Testing.completeTopology, and may cause message loss
                 Key: STORM-1837
                 URL: https://issues.apache.org/jira/browse/STORM-1837
             Project: Apache Storm
          Issue Type: Bug
    Affects Versions: 1.0.0, 2.0.0, 1.0.1
            Reporter: Stig Rohde Døssing
            Priority: Minor


Since https://github.com/apache/storm/pull/810 it is no longer possible to call 
Testing.completeTopology when time is not simulating, because a call to 
advance-cluster-time is made from the function, which calls Time/advanceTime. 
advance-cluster-time should only be called if time is simulating.

Since https://github.com/apache/storm/pull/830 a local cluster run without time 
simulation may lose messages. When a worker emits messages for a worker that 
hasn't started yet, the message is lost. This can happen because spouts may 
start emitting before all workers have started, when time simulation is 
disabled.

The problem is that there are no longer any queues to store messages for 
workers that haven't started yet. See 
https://github.com/apache/storm/pull/830/files#diff-c6ff4208ef84c7a5a1a6b8b6bd1f7d19R104.
 Local clusters usually run without message timeouts, so this isn't ideal for 
testing. A queue should be added for messages for workers that haven't 
registered a receive callback yet.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to