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;
             }

Reply via email to