From 743b8e0f88a018c7851be6db2d081d31627d10c8 Mon Sep 17 00:00:00 2001 From: Jungtaek Lim Date: Tue, 30 Aug 2016 10:22:48 +0900 Subject: [PATCH] STORM-2067 Fix "array element type mismatch" from compute-executors in nimbus.clj * force set type to Map when calling into-array with seq which has Maps ** Clojure optimization occurs type mismatch: PersistentArrayMap vs PersistentHashMap --- storm-core/src/clj/org/apache/storm/daemon/nimbus.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj b/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj index 93a537b6893..3e519600879 100644 --- a/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj +++ b/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj @@ -29,7 +29,7 @@ [java.util Collections List HashMap] [org.apache.storm.generated NimbusSummary]) (:import [java.nio ByteBuffer] - [java.util Collections List HashMap ArrayList Iterator]) + [java.util Collections List HashMap ArrayList Iterator Map]) (:import [org.apache.storm.blobstore AtomicOutputStream BlobStoreAclHandler InputStreamWithMeta KeyFilter KeySequenceNumber BlobSynchronizer BlobStoreUtils]) (:import [java.io File FileOutputStream FileInputStream]) @@ -641,7 +641,7 @@ (Utils/reverseMap) clojurify-structure (map-val sort) - ((fn [ & maps ] (Utils/joinMaps (into-array (into [component->executors] maps))))) + ((fn [ & maps ] (Utils/joinMaps (into-array Map (into [component->executors] maps))))) (clojurify-structure) (map-val (partial apply (fn part-fixed [a b] (Utils/partitionFixed a b)))) (mapcat second)