Daniel Darabos created SPARK-6497:
-------------------------------------
Summary: Class is not registered:
scala.reflect.ManifestFactory$$anon$9
Key: SPARK-6497
URL: https://issues.apache.org/jira/browse/SPARK-6497
Project: Spark
Issue Type: Bug
Components: Spark Core
Affects Versions: 1.3.0
Reporter: Daniel Darabos
Priority: Minor
This is a slight regression from Spark 1.2.1 to 1.3.0.
{noformat}
spark-1.2.1-bin-hadoop2.4/bin/spark-shell --conf
spark.serializer=org.apache.spark.serializer.KryoSerializer --conf
spark.kryo.registrationRequired=true --conf
'spark.kryo.classesToRegister=scala.collection.mutable.WrappedArray$ofRef,[Lscala.Tuple2;'
scala> sc.parallelize(Seq(1 -> 1)).groupByKey.collect
res0: Array[(Int, Iterable[Int])] = Array((1,CompactBuffer(1)))
{noformat}
{noformat}
spark-1.3.0-bin-hadoop2.4/bin/spark-shell --conf
spark.serializer=org.apache.spark.serializer.KryoSerializer --conf
spark.kryo.registrationRequired=true --conf
'spark.kryo.classesToRegister=scala.collection.mutable.WrappedArray$ofRef,[Lscala.Tuple2;'
scala> sc.parallelize(Seq(1 -> 1)).groupByKey.collect
Lost task 1.0 in stage 3.0 (TID 25, localhost):
com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException:
Class is not registered: scala.reflect.ManifestFactory$$anon$9
Note: To register this class use:
kryo.register(scala.reflect.ManifestFactory$$anon$9.class);
Serialization trace:
evidence$1 (org.apache.spark.util.collection.CompactBuffer)
at
com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:585)
at
com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:213)
at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:568)
at com.twitter.chill.Tuple2Serializer.write(TupleSerializers.scala:37)
at com.twitter.chill.Tuple2Serializer.write(TupleSerializers.scala:33)
at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:568)
at
com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.write(DefaultArraySerializers.java:318)
at
com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.write(DefaultArraySerializers.java:293)
at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:568)
at
org.apache.spark.serializer.KryoSerializerInstance.serialize(KryoSerializer.scala:161)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:213)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: Class is not registered:
scala.reflect.ManifestFactory$$anon$9
Note: To register this class use:
kryo.register(scala.reflect.ManifestFactory$$anon$9.class);
at com.esotericsoftware.kryo.Kryo.getRegistration(Kryo.java:442)
at
com.esotericsoftware.kryo.util.DefaultClassResolver.writeClass(DefaultClassResolver.java:79)
at com.esotericsoftware.kryo.Kryo.writeClass(Kryo.java:472)
at
com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:561)
... 13 more
{noformat}
In our production code the exception is actually about
{{scala.reflect.ManifestFactory$$anon$8}} instead of
{{scala.reflect.ManifestFactory$$anon$9}} but it's probably the same thing. Any
idea what caused from 1.2.1 to 1.3.0 that could be causing this?
We also get exceptions in 1.3.0 for {{scala.reflect.ClassTag$$anon$1}} and
{{java.lang.Class}}, but I haven't reduced them to a spark-shell reproduction
yet. We can of course just register these classes ourselves.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]