Merge branch 'local-hostname-conf' of https://github.com/yieldbot/storm into STORM-546-V1
diff --git a/storm-core/src/clj/backtype/storm/daemon/executor.clj b/storm-core/src/clj/backtype/storm/daemon/executor.clj
index f60aa80..63428d5 100644
--- a/storm-core/src/clj/backtype/storm/daemon/executor.clj
+++ b/storm-core/src/clj/backtype/storm/daemon/executor.clj
@@ -176,7 +176,8 @@
(when (<= @interval-errors max-per-interval)
(cluster/report-error (:storm-cluster-state executor) (:storm-id executor) (:component-id executor)
- (memoized-local-hostname) (.getThisWorkerPort (:worker-context executor)) error)
+ (hostname storm-conf)
+ (.getThisWorkerPort (:worker-context executor)) error)
))))
;; in its own function so that it can be mocked out by tracked topologies
@@ -278,7 +279,7 @@
task-id (:task-id task-data)
name->imetric (-> interval->task->metric-registry (get interval) (get task-id))
task-info (IMetricsConsumer$TaskInfo.
- (memoized-local-hostname)
+ (hostname (:storm-conf executor-data))
(.getThisWorkerPort worker-context)
(:component-id executor-data)
task-id
diff --git a/storm-core/src/clj/backtype/storm/daemon/supervisor.clj b/storm-core/src/clj/backtype/storm/daemon/supervisor.clj
index b370eb7..71f9bfb 100644
--- a/storm-core/src/clj/backtype/storm/daemon/supervisor.clj
+++ b/storm-core/src/clj/backtype/storm/daemon/supervisor.clj
@@ -212,9 +212,7 @@
:local-state (supervisor-state conf)
:supervisor-id (.getSupervisorId isupervisor)
:assignment-id (.getAssignmentId isupervisor)
- :my-hostname (if (contains? conf STORM-LOCAL-HOSTNAME)
- (conf STORM-LOCAL-HOSTNAME)
- (local-hostname))
+ :my-hostname (hostname conf)
:curr-assignment (atom nil) ;; used for reporting used ports when heartbeating
:timer (mk-timer :kill-fn (fn [t]
(log-error t "Error when processing event")
diff --git a/storm-core/src/clj/backtype/storm/util.clj b/storm-core/src/clj/backtype/storm/util.clj
index 398584f..81c6287 100644
--- a/storm-core/src/clj/backtype/storm/util.clj
+++ b/storm-core/src/clj/backtype/storm/util.clj
@@ -206,6 +206,12 @@
(def memoized-local-hostname (memoize local-hostname))
+;; checks conf for STORM_LOCAL_HOSTNAME.
+;; when unconfigured, falls back to (memoized) guess by `local-hostname`.
+(defn hostname
+ [conf]
+ (conf Config/STORM_LOCAL_HOSTNAME (memoized-local-hostname)))
+
(letfn [(try-port [port]
(with-open [socket (java.net.ServerSocket. port)]
(.getLocalPort socket)))]