From b734bab833f6c12d406e2b2e1db7303f2342066f Mon Sep 17 00:00:00 2001 From: "Robert (Bobby) Evans" Date: Fri, 20 Feb 2015 16:12:02 -0600 Subject: [PATCH] STORM-683: Make false in a conf really evaluate to false in clojure. --- storm-core/src/clj/backtype/storm/config.clj | 3 +-- storm-core/src/clj/backtype/storm/daemon/worker.clj | 2 +- storm-core/src/clj/backtype/storm/util.clj | 3 +++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/storm-core/src/clj/backtype/storm/config.clj b/storm-core/src/clj/backtype/storm/config.clj index 98b1da27ec4..483c6ff2ab1 100644 --- a/storm-core/src/clj/backtype/storm/config.clj +++ b/storm-core/src/clj/backtype/storm/config.clj @@ -211,8 +211,7 @@ (let [stormroot (supervisor-stormdist-root conf storm-id) conf-path (supervisor-stormconf-path stormroot) topology-path (supervisor-stormcode-path stormroot)] - (merge conf (Utils/deserialize (FileUtils/readFileToByteArray (File. conf-path)))) - )) + (merge conf (clojurify-structure (Utils/deserialize (FileUtils/readFileToByteArray (File. conf-path))))))) (defn read-supervisor-topology [conf storm-id] diff --git a/storm-core/src/clj/backtype/storm/daemon/worker.clj b/storm-core/src/clj/backtype/storm/daemon/worker.clj index 8bba5e444e8..a0f81681afe 100644 --- a/storm-core/src/clj/backtype/storm/daemon/worker.clj +++ b/storm-core/src/clj/backtype/storm/daemon/worker.clj @@ -122,7 +122,7 @@ local-transfer (:transfer-local-fn worker) ^DisruptorQueue transfer-queue (:transfer-queue worker) task->node+port (:cached-task->node+port worker) - try-serialize-local ((:conf worker) TOPOLOGY-TESTING-ALWAYS-TRY-SERIALIZE) + try-serialize-local ((:storm-conf worker) TOPOLOGY-TESTING-ALWAYS-TRY-SERIALIZE) transfer-fn (fn [^KryoTupleSerializer serializer tuple-batch] (let [local (ArrayList.) diff --git a/storm-core/src/clj/backtype/storm/util.clj b/storm-core/src/clj/backtype/storm/util.clj index d67c26435ed..36dc62c4211 100644 --- a/storm-core/src/clj/backtype/storm/util.clj +++ b/storm-core/src/clj/backtype/storm/util.clj @@ -247,6 +247,9 @@ (prewalk (fn [x] (cond (instance? Map x) (into {} x) (instance? List x) (vec x) + ;; (Boolean. false) does not evaluate to false in an if. + ;; This fixes that. + (instance? Boolean x) (boolean x) true x)) s))