Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.0
Description
Current version of kryo (2.22) has some issue (refer exception below and in HIVE-12174) with serializing ArrayLists generated using Arrays.asList(). We need to either replace all occurrences of Arrays.asList() or change the current StdInstantiatorStrategy. This issue is fixed in later versions and kryo community recommends using DefaultInstantiatorStrategy with fallback to StdInstantiatorStrategy. More discussion about this issue is here https://github.com/EsotericSoftware/kryo/issues/216. Alternatively, custom serilization/deserilization class can be provided for Arrays.asList.
Also, kryo 3.0 introduced unsafe based serialization which claims to have much better performance for certain types of serialization.
Exception:
Caused by: java.lang.NullPointerException at java.util.Arrays$ArrayList.size(Arrays.java:2847) at java.util.AbstractList.add(AbstractList.java:108) at org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:112) at org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:18) at org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694) at org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106) ... 57 more
Attachments
Attachments
Issue Links
- Blocked
-
HIVE-11519 kryo.KryoException: Encountered unregistered
- Open
- is related to
-
HIVE-12174 Error: java.lang.RuntimeException: org.apache.hive.com.esotericsoftware.kryo.KryoException: java.lang.IndexOutOfBoundsException: Index: 112, Size: 11
- Open
-
HIVE-12551 Fix several kryo exceptions in branch-1
- Resolved
- is required by
-
HIVE-12302 Use KryoPool instead of thread-local caching
- Closed
- relates to
-
SPARK-10793 Make spark's use/subclassing of hive more maintainable
- Resolved
-
SPARK-11416 Upgrade kryo package to version 3.0
- Resolved