[
https://issues.apache.org/jira/browse/HIVE-12175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Prasanth Jayachandran updated HIVE-12175:
-----------------------------------------
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:
{code}
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
{code}
was:
Current version of kryo (2.22) has some issue 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.
> Upgrade Kryo version to 3.0.x
> -----------------------------
>
> Key: HIVE-12175
> URL: https://issues.apache.org/jira/browse/HIVE-12175
> Project: Hive
> Issue Type: Improvement
> Components: Serializers/Deserializers
> Affects Versions: 2.0.0
> Reporter: Prasanth Jayachandran
> Assignee: Prasanth Jayachandran
>
> 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:
> {code}
> 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
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)