Closed paul-amperity closed 7 years ago
Repro:
(require '[powderkeg.core :as keg]) (keg/connect! "local") (def voidType java.lang.Void/TYPE) (into [] (keg/rdd [1 2 3 4 5 6] (map #(* 2 %))))
Throws exception:
NullPointerException com.esotericsoftware.kryo.serializers.FieldSerializer.rebuildCachedFields (FieldSerializer.java:66) com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException: Unable to create serializer "com.esotericsoftware.kryo.serializers.FieldSerializer" for class: void Serialization trace: vars (powderkeg.core$barrier_BANG_$fn__11172$fn__11173) fn (clojure.lang.Delay) at com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write (FieldSerializer.java:585) com.esotericsoftware.kryo.serializers.FieldSerializer.write (FieldSerializer.java:213) com.esotericsoftware.kryo.Kryo.writeObject (Kryo.java:501) com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write (FieldSerializer.java:564) com.esotericsoftware.kryo.serializers.FieldSerializer.write (FieldSerializer.java:213) com.esotericsoftware.kryo.Kryo.writeClassAndObject (Kryo.java:568) org.apache.spark.serializer.KryoSerializationStream.writeObject (KryoSerializer.scala:158) org.apache.spark.broadcast.TorrentBroadcast$.blockifyObject (TorrentBroadcast.scala:203) org.apache.spark.broadcast.TorrentBroadcast.writeBlocks (TorrentBroadcast.scala:102) org.apache.spark.broadcast.TorrentBroadcast.<init> (TorrentBroadcast.scala:85) org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast (TorrentBroadcastFactory.scala:34) org.apache.spark.broadcast.BroadcastManager.newBroadcast (BroadcastManager.scala:63) org.apache.spark.SparkContext.broadcast (SparkContext.scala:1327) org.apache.spark.api.java.JavaSparkContext.broadcast (JavaSparkContext.scala:648) powderkeg.core$barrier_BANG_$fn__11172.invoke (core.clj:131)
Workaround:
Updating the version of kryo to 4.0.0 fixes this issue.
This was similar to #11: in both cases I backported a Kryo fix.
Repro:
Throws exception:
Workaround:
Updating the version of kryo to 4.0.0 fixes this issue.