Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
1.0.0, 1.0.2
-
None
-
Linux RedHat EL 6, 4-node Spark cluster.
Description
The custom Kryo Registrator (a class with the org.apache.spark.serializer.KryoRegistrator trait) is not used with every Kryo instance created, and this causes inconsistent serialisation and deserialisation.
The Kryo Registrator is sometimes not used because of a ClassNotFound exception that only occurs if it isn't the Worker thread (of an Executor) that tries to create the KryoRegistrator.
A complete description of the problem and a project reproducing the problem can be found at https://github.com/GrahamDennis/spark-kryo-serialisation
I have currently only tested this with Spark 1.0.0, but will try to test against 1.0.2.
Attachments
Issue Links
- Is contained by
-
SPARK-3046 Set executor's class loader as the default serializer class loader
- Resolved
- is duplicated by
-
SPARK-3070 Kryo deserialization without using the custom registrator
- Resolved
- links to