[ https://issues.apache.org/jira/browse/STORM-1837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Joseph Evans resolved STORM-1837. ---------------------------------------- Resolution: Fixed Fix Version/s: 1.1.0 2.0.0 Thanks [~Srdo], I merged this into master and branch-1.x > 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 > Fix For: 2.0.0, 1.1.0 > > Time Spent: 2h > 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)