You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2018/06/05 16:19:55 UTC

[1/2] storm git commit: STORM-3091 don't allow workers to create heartbeat directory

Repository: storm
Updated Branches:
  refs/heads/master fe32d95c6 -> 07a437302


STORM-3091 don't allow workers to create heartbeat directory


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/4c4b2b4b
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/4c4b2b4b
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/4c4b2b4b

Branch: refs/heads/master
Commit: 4c4b2b4b6d579a118379607a268ef060136d9aac
Parents: 41f977a
Author: Aaron Gresch <ag...@yahoo-inc.com>
Authored: Mon Jun 4 09:16:10 2018 -0500
Committer: Aaron Gresch <ag...@yahoo-inc.com>
Committed: Tue Jun 5 08:28:30 2018 -0500

----------------------------------------------------------------------
 .../src/jvm/org/apache/storm/utils/ConfigUtils.java   |  2 +-
 .../src/jvm/org/apache/storm/utils/LocalState.java    | 10 +++++-----
 .../jvm/org/apache/storm/utils/VersionedStore.java    | 14 +++++++++++---
 .../clj/org/apache/storm/versioned_store_test.clj     |  2 +-
 .../storm/daemon/supervisor/StandaloneSupervisor.java |  2 +-
 .../org/apache/storm/utils/ServerConfigUtils.java     |  4 ++--
 .../test/java/org/apache/storm/LocalStateTest.java    |  8 ++++----
 7 files changed, 25 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/4c4b2b4b/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java b/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java
index 1fdf6b3..efb6dd7 100644
--- a/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java
+++ b/storm-client/src/jvm/org/apache/storm/utils/ConfigUtils.java
@@ -279,7 +279,7 @@ public class ConfigUtils {
     }
 
     public static LocalState workerState(Map<String, Object> conf, String id) throws IOException {
-        return new LocalState(workerHeartbeatsRoot(conf, id));
+        return new LocalState(workerHeartbeatsRoot(conf, id), false);
     }
 
     public static String masterStormCodeKey(String topologyId) {

http://git-wip-us.apache.org/repos/asf/storm/blob/4c4b2b4b/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/utils/LocalState.java b/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
index 4505d88..85eebc2 100644
--- a/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
+++ b/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
@@ -47,9 +47,9 @@ public class LocalState {
     public static final String LS_TOPO_HISTORY = "topo-hist";
     private VersionedStore _vs;
 
-    public LocalState(String backingDir) throws IOException {
+    public LocalState(String backingDir, boolean createBackingDir) throws IOException {
         LOG.debug("New Local State for {}", backingDir);
-        _vs = new VersionedStore(backingDir);
+        _vs = new VersionedStore(backingDir, createBackingDir);
     }
 
     public synchronized Map<String, TBase> snapshot() {
@@ -256,9 +256,9 @@ public class LocalState {
             File file = new File(newPath);
             FileUtils.writeByteArrayToFile(file, toWrite);
             if (toWrite.length != file.length()) {
-                throw new IOException("Tried to serialize " + toWrite.length +
-                                      " bytes to " + file.getCanonicalPath() + ", but " +
-                                      file.length() + " bytes were written.");
+                throw new IOException("Tried to serialize " + toWrite.length
+                                      + " bytes to " + file.getCanonicalPath() + ", but "
+                                      + file.length() + " bytes were written.");
             }
             _vs.succeedVersion(newPath);
             if (cleanup) {

http://git-wip-us.apache.org/repos/asf/storm/blob/4c4b2b4b/storm-client/src/jvm/org/apache/storm/utils/VersionedStore.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/utils/VersionedStore.java b/storm-client/src/jvm/org/apache/storm/utils/VersionedStore.java
index 8c8a078..9c2deac 100644
--- a/storm-client/src/jvm/org/apache/storm/utils/VersionedStore.java
+++ b/storm-client/src/jvm/org/apache/storm/utils/VersionedStore.java
@@ -25,9 +25,17 @@ public class VersionedStore {
 
     private String _root;
 
-    public VersionedStore(String path) throws IOException {
+    /**
+     * Creates a store at the given path.
+     *
+     * @param The path for the store
+     * @param createRootDir option to create the path directory
+     */
+    public VersionedStore(String path, boolean createRootDir) throws IOException {
         _root = path;
-        mkdirs(_root);
+        if (createRootDir) {
+            mkdirs(_root);
+        }
     }
 
     public String getRoot() {
@@ -133,7 +141,7 @@ public class VersionedStore {
     }
 
     /**
-     * Sorted from most recent to oldest
+     * Sorted from most recent to oldest.
      */
     public List<Long> getAllVersions() throws IOException {
         List<Long> ret = new ArrayList<Long>();

http://git-wip-us.apache.org/repos/asf/storm/blob/4c4b2b4b/storm-core/test/clj/org/apache/storm/versioned_store_test.clj
----------------------------------------------------------------------
diff --git a/storm-core/test/clj/org/apache/storm/versioned_store_test.clj b/storm-core/test/clj/org/apache/storm/versioned_store_test.clj
index 5e71beb..b422b21 100644
--- a/storm-core/test/clj/org/apache/storm/versioned_store_test.clj
+++ b/storm-core/test/clj/org/apache/storm/versioned_store_test.clj
@@ -23,7 +23,7 @@
 (defmacro defvstest [name [vs-sym] & body]
   `(deftest ~name
     (with-open [dir# (TmpPath.)]
-      (let [~vs-sym (VersionedStore. (.getPath dir#))]
+      (let [~vs-sym (VersionedStore. (.getPath dir#) true)]
         ~@body
         ))))
 

http://git-wip-us.apache.org/repos/asf/storm/blob/4c4b2b4b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/StandaloneSupervisor.java
----------------------------------------------------------------------
diff --git a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/StandaloneSupervisor.java b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/StandaloneSupervisor.java
index 0730957..b002925 100644
--- a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/StandaloneSupervisor.java
+++ b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/StandaloneSupervisor.java
@@ -29,7 +29,7 @@ public class StandaloneSupervisor implements ISupervisor {
     @Override
     public void prepare(Map<String, Object> topoConf, String schedulerLocalDir) {
         try {
-            LocalState localState = new LocalState(schedulerLocalDir);
+            LocalState localState = new LocalState(schedulerLocalDir, true);
             String supervisorId = localState.getSupervisorId();
             if (supervisorId == null) {
                 supervisorId = generateSupervisorId();

http://git-wip-us.apache.org/repos/asf/storm/blob/4c4b2b4b/storm-server/src/main/java/org/apache/storm/utils/ServerConfigUtils.java
----------------------------------------------------------------------
diff --git a/storm-server/src/main/java/org/apache/storm/utils/ServerConfigUtils.java b/storm-server/src/main/java/org/apache/storm/utils/ServerConfigUtils.java
index 1df19cb..b4a7a2a 100644
--- a/storm-server/src/main/java/org/apache/storm/utils/ServerConfigUtils.java
+++ b/storm-server/src/main/java/org/apache/storm/utils/ServerConfigUtils.java
@@ -178,10 +178,10 @@ public class ServerConfigUtils {
     }
 
     public LocalState supervisorStateImpl(Map<String, Object> conf) throws IOException {
-        return new LocalState((ConfigUtils.supervisorLocalDir(conf) + FILE_SEPARATOR + "localstate"));
+        return new LocalState((ConfigUtils.supervisorLocalDir(conf) + FILE_SEPARATOR + "localstate"),  true);
     }
 
     public LocalState nimbusTopoHistoryStateImpl(Map<String, Object> conf) throws IOException {
-        return new LocalState((masterLocalDir(conf) + FILE_SEPARATOR + "history"));
+        return new LocalState((masterLocalDir(conf) + FILE_SEPARATOR + "history"), true);
     }
 }

http://git-wip-us.apache.org/repos/asf/storm/blob/4c4b2b4b/storm-server/src/test/java/org/apache/storm/LocalStateTest.java
----------------------------------------------------------------------
diff --git a/storm-server/src/test/java/org/apache/storm/LocalStateTest.java b/storm-server/src/test/java/org/apache/storm/LocalStateTest.java
index ade26ac..97765b2 100644
--- a/storm-server/src/test/java/org/apache/storm/LocalStateTest.java
+++ b/storm-server/src/test/java/org/apache/storm/LocalStateTest.java
@@ -34,8 +34,8 @@ public class LocalStateTest {
             GlobalStreamId globalStreamId_c = new GlobalStreamId("c", "c");
             GlobalStreamId globalStreamId_d = new GlobalStreamId("d", "d");
 
-            LocalState ls1 = new LocalState(dir1_tmp.getPath());
-            LocalState ls2 = new LocalState(dir2_tmp.getPath());
+            LocalState ls1 = new LocalState(dir1_tmp.getPath(), true);
+            LocalState ls2 = new LocalState(dir2_tmp.getPath(), true);
             Assert.assertTrue(ls1.snapshot().isEmpty());
 
             ls1.put("a", globalStreamId_a);
@@ -44,7 +44,7 @@ public class LocalStateTest {
             expected.put("a", globalStreamId_a);
             expected.put("b", globalStreamId_b);
             Assert.assertEquals(expected, ls1.snapshot());
-            Assert.assertEquals(expected, new LocalState(dir1_tmp.getPath()).snapshot());
+            Assert.assertEquals(expected, new LocalState(dir1_tmp.getPath(), true).snapshot());
 
             Assert.assertTrue(ls2.snapshot().isEmpty());
             ls2.put("b", globalStreamId_a);
@@ -59,7 +59,7 @@ public class LocalStateTest {
     public void testEmptyState() throws IOException {
         TmpPath tmp_dir = new TmpPath();
         String dir = tmp_dir.getPath();
-        LocalState ls = new LocalState(dir);
+        LocalState ls = new LocalState(dir, true);
         GlobalStreamId gs_a = new GlobalStreamId("a", "a");
         FileOutputStream data = FileUtils.openOutputStream(new File(dir, "12345"));
         FileOutputStream version = FileUtils.openOutputStream(new File(dir, "12345.version"));


[2/2] storm git commit: Merge branch 'agresch_storm-3091' of https://github.com/agresch/storm into STORM-3091

Posted by bo...@apache.org.
Merge branch 'agresch_storm-3091' of https://github.com/agresch/storm into STORM-3091

STORM-3091: don't allow workers to create heartbeat directory

This closes #2701


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/07a43730
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/07a43730
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/07a43730

Branch: refs/heads/master
Commit: 07a437302c544b2635a835c9eeb1f3210e7519db
Parents: fe32d95 4c4b2b4
Author: Robert Evans <ev...@yahoo-inc.com>
Authored: Tue Jun 5 10:58:26 2018 -0500
Committer: Robert Evans <ev...@yahoo-inc.com>
Committed: Tue Jun 5 10:58:26 2018 -0500

----------------------------------------------------------------------
 .../src/jvm/org/apache/storm/utils/ConfigUtils.java   |  2 +-
 .../src/jvm/org/apache/storm/utils/LocalState.java    | 10 +++++-----
 .../jvm/org/apache/storm/utils/VersionedStore.java    | 14 +++++++++++---
 .../clj/org/apache/storm/versioned_store_test.clj     |  2 +-
 .../storm/daemon/supervisor/StandaloneSupervisor.java |  2 +-
 .../org/apache/storm/utils/ServerConfigUtils.java     |  4 ++--
 .../test/java/org/apache/storm/LocalStateTest.java    |  8 ++++----
 7 files changed, 25 insertions(+), 17 deletions(-)
----------------------------------------------------------------------