[ https://issues.apache.org/jira/browse/HIVE-12175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14956961#comment-14956961 ]
Prasanth Jayachandran commented on HIVE-12175: ---------------------------------------------- >From kryo Readme.md "The 3.0.0 release fixes many reported issues and improves stability and performance. The maven groupId is changed from com.esotericsoftware.kryo to com.esotericsoftware. The Unsafe-based IO serialization format was changed and is incompatible with previous versions (therefore the new major version), the standard serialization format is still compatible." We won't be using unsafe based serialization in most of the scenarios. It will be much better for scenarios involving primitive arrays (vectorizedrowbatch?) when row by row copy is replaced by unsafe memcopy (BATCH_SIZE * sizeof primitive type). Plan serialization will still use the standard serialization format which is compatible with 2.22. > 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)