hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashutosh Chauhan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-12175) Upgrade Kryo version to 3.0.x
Date Tue, 24 Nov 2015 19:38:11 GMT

    [ https://issues.apache.org/jira/browse/HIVE-12175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15025178#comment-15025178
] 

Ashutosh Chauhan commented on HIVE-12175:
-----------------------------------------

Thanks for explanation. Corner case you pointed out exists even in 2.22 version, if there
is a need for custom serializer for whatsoever reason, we will throw up even in 2.22 So, I
think we are good with upgrade here. 

> 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
>             Fix For: 2.0.0
>
>         Attachments: HIVE-12175.1.patch, HIVE-12175.2.patch, HIVE-12175.3.patch, HIVE-12175.3.patch,
HIVE-12175.4.patch, HIVE-12175.5.patch, HIVE-12175.6.patch
>
>
> 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)

Mime
View raw message