[ 
https://issues.apache.org/jira/browse/STORM-1837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Joseph Evans updated STORM-1837:
---------------------------------------
    Assignee: Stig Rohde Døssing

> 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
>            Assignee: Stig Rohde Døssing
>            Priority: Minor
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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. Local clusters usually run without message timeouts, so this will 
> make tests relying on Testing.withLocalCluster flaky.
> 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.
>  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