You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Stig Rohde Døssing (JIRA)" <ji...@apache.org> on 2019/01/21 13:06:00 UTC

[jira] [Created] (STORM-3321) Tests are flaky due to long timeouts in Nimbus and supervisor when using LocalCluster

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

             Summary: Tests are flaky due to long timeouts in Nimbus and supervisor when using LocalCluster
                 Key: STORM-3321
                 URL: https://issues.apache.org/jira/browse/STORM-3321
             Project: Apache Storm
          Issue Type: Bug
    Affects Versions: 2.0.0
            Reporter: Stig Rohde Døssing
            Assignee: Stig Rohde Døssing


Tests will sometimes fail with timeout when using e.g. Testing.completeTopology.

The issue is that the timeout is 10 seconds, and Nimbus and the supervisor both have timers that monitor for new deployments that are also set to 10 seconds. This causes tests to time out because a lot of the test time is wasted waiting for Nimbus/the supervisors to catch that the test topology is deployed.

We should reduce these timeouts to their minimums.

There is also a race in Nimbus that can cause test failures 
{quote}
2019-01-21 02:00:19.587 [main] WARN  org.apache.storm.daemon.nimbus.Nimbus - Topology submission exception. (topology name='topologytest-45f5ad59-ec16-45a4-ba4a-eea992411cc1')
java.lang.RuntimeException: not a leader, current leader is NimbusInfo{host='DESKTOP-AGC8TKM', port=6627, isLeader=true}
	at org.apache.storm.daemon.nimbus.Nimbus.assertIsLeader(Nimbus.java:1525) ~[classes/:?]
	at org.apache.storm.daemon.nimbus.Nimbus.submitTopologyWithOpts(Nimbus.java:2982) ~[classes/:?]
	at org.apache.storm.daemon.nimbus.Nimbus.submitTopology(Nimbus.java:2965) ~[classes/:?]
	at org.apache.storm.LocalCluster.submitTopology(LocalCluster.java:444) ~[classes/:?]
	at org.apache.storm.LocalCluster.submitTopology(LocalCluster.java:125) ~[classes/:?]
	at org.apache.storm.Testing.completeTopology(Testing.java:424) ~[classes/:?]
{quote}

The issue is that Nimbus has to acquire leadership in order to submit topologies, but LocalCluster doesn't wait for the Nimbus instance it creates to gain leadership.

We should make LocalCluster wait for Nimbus to gain leadership.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)