Repository: storm Updated Branches: refs/heads/master 32fefef83 -> 2709a1cda
STORM-2811: Fix NPE in Nimbus when killing the same topology multiple times, fix integration test killing the same topology multiple times Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/d568408e Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/d568408e Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/d568408e Branch: refs/heads/master Commit: d568408e4d284199cf53baed7dd1471ab9628ca4 Parents: 2657c25 Author: Stig Rohde Døssing <[email protected]> Authored: Sun Nov 12 10:11:49 2017 +0100 Committer: Stig Rohde Døssing <[email protected]> Committed: Sun Nov 12 10:14:31 2017 +0100 ---------------------------------------------------------------------- .../src/main/java/org/apache/storm/st/utils/StringDecorator.java | 1 - integration-test/src/test/java/org/apache/storm/st/DemoTest.java | 1 + .../java/org/apache/storm/st/tests/window/SlidingWindowTest.java | 1 + .../org/apache/storm/st/tests/window/TumblingWindowTest.java | 3 ++- .../src/test/java/org/apache/storm/st/wrapper/StormCluster.java | 2 +- .../src/jvm/org/apache/storm/cluster/IStormClusterState.java | 4 ++-- 6 files changed, 7 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/storm/blob/d568408e/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java ---------------------------------------------------------------------- diff --git a/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java b/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java index 6901212..34c2b65 100644 --- a/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java +++ b/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java @@ -17,7 +17,6 @@ package org.apache.storm.st.utils; -import java.nio.charset.StandardCharsets; import org.apache.commons.lang.StringUtils; public class StringDecorator { http://git-wip-us.apache.org/repos/asf/storm/blob/d568408e/integration-test/src/test/java/org/apache/storm/st/DemoTest.java ---------------------------------------------------------------------- diff --git a/integration-test/src/test/java/org/apache/storm/st/DemoTest.java b/integration-test/src/test/java/org/apache/storm/st/DemoTest.java index 2c62d3f..133014b 100644 --- a/integration-test/src/test/java/org/apache/storm/st/DemoTest.java +++ b/integration-test/src/test/java/org/apache/storm/st/DemoTest.java @@ -80,6 +80,7 @@ public final class DemoTest extends AbstractTest { public void cleanup() throws Exception { if (topo != null) { topo.killOrThrow(); + topo = null; } } } http://git-wip-us.apache.org/repos/asf/storm/blob/d568408e/integration-test/src/test/java/org/apache/storm/st/tests/window/SlidingWindowTest.java ---------------------------------------------------------------------- diff --git a/integration-test/src/test/java/org/apache/storm/st/tests/window/SlidingWindowTest.java b/integration-test/src/test/java/org/apache/storm/st/tests/window/SlidingWindowTest.java index 13af8a1..83b981e 100644 --- a/integration-test/src/test/java/org/apache/storm/st/tests/window/SlidingWindowTest.java +++ b/integration-test/src/test/java/org/apache/storm/st/tests/window/SlidingWindowTest.java @@ -188,6 +188,7 @@ public final class SlidingWindowTest extends AbstractTest { public void cleanup() throws Exception { if (topo != null) { topo.killOrThrow(); + topo = null; } } } http://git-wip-us.apache.org/repos/asf/storm/blob/d568408e/integration-test/src/test/java/org/apache/storm/st/tests/window/TumblingWindowTest.java ---------------------------------------------------------------------- diff --git a/integration-test/src/test/java/org/apache/storm/st/tests/window/TumblingWindowTest.java b/integration-test/src/test/java/org/apache/storm/st/tests/window/TumblingWindowTest.java index 866e4c8..28b3969 100644 --- a/integration-test/src/test/java/org/apache/storm/st/tests/window/TumblingWindowTest.java +++ b/integration-test/src/test/java/org/apache/storm/st/tests/window/TumblingWindowTest.java @@ -30,7 +30,7 @@ import org.testng.annotations.Test; public final class TumblingWindowTest extends AbstractTest { private static Logger log = LoggerFactory.getLogger(TumblingWindowTest.class); - TopoWrap topo; + private TopoWrap topo; @DataProvider public static Object[][] generateWindows() { @@ -94,6 +94,7 @@ public final class TumblingWindowTest extends AbstractTest { public void cleanup() throws Exception { if (topo != null) { topo.killOrThrow(); + topo = null; } } } http://git-wip-us.apache.org/repos/asf/storm/blob/d568408e/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java ---------------------------------------------------------------------- diff --git a/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java b/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java index 96492ca..4521b36 100644 --- a/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java +++ b/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java @@ -93,7 +93,7 @@ public class StormCluster { client.killTopologyWithOpts(topologyName, killOptions); log.info("Topology killed: " + topologyName); return; - } catch (Throwable e) { + } catch (TException e) { log.warn("Couldn't kill topology: " + topologyName + ", going to retry soon. Exception: " + ExceptionUtils.getFullStackTrace(e)); Thread.sleep(TimeUnit.SECONDS.toMillis(2)); } http://git-wip-us.apache.org/repos/asf/storm/blob/d568408e/storm-client/src/jvm/org/apache/storm/cluster/IStormClusterState.java ---------------------------------------------------------------------- diff --git a/storm-client/src/jvm/org/apache/storm/cluster/IStormClusterState.java b/storm-client/src/jvm/org/apache/storm/cluster/IStormClusterState.java index 674865b..051ccd5 100644 --- a/storm-client/src/jvm/org/apache/storm/cluster/IStormClusterState.java +++ b/storm-client/src/jvm/org/apache/storm/cluster/IStormClusterState.java @@ -168,8 +168,8 @@ public interface IStormClusterState { default Optional<String> getTopoId(final String topologyName) { String ret = null; for (String topoId: activeStorms()) { - String name = stormBase(topoId, null).get_name(); - if (topologyName.equals(name)) { + StormBase base = stormBase(topoId, null); + if(base != null && topologyName.equals(base.get_name())) { ret = topoId; break; }
