[ https://issues.apache.org/jira/browse/HIVE-12551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15564648#comment-15564648 ]
Prasanth Jayachandran commented on HIVE-12551: ---------------------------------------------- bq. It seems that this patch also breaks Hive on Spark What other things is this patch breaking? Also branch-1 is unreleased version. bq. It's too bad that this got in w/o being fully tested. We never used to run pre-commit on maintenance branches. bq. I'm wondering how you determined what classes to register. Based on the failing test case in the patch for ArrayList serializer. Also there are several issues reported in hive branch-1 regarding kryo failures (issues are linked to this jira) and some issues are linked to HIVE-12175. Many fixes went in master that are related to kryo. I just aggregated them, put them in a single patch and backported it. > Fix several kryo exceptions in branch-1 > --------------------------------------- > > Key: HIVE-12551 > URL: https://issues.apache.org/jira/browse/HIVE-12551 > Project: Hive > Issue Type: Bug > Affects Versions: 1.3.0 > Reporter: Prasanth Jayachandran > Assignee: Prasanth Jayachandran > Labels: serialization > Fix For: 1.3.0 > > Attachments: HIVE-12551.1.patch, test case.zip > > > HIVE-11519, HIVE-12174 and the following exception are all caused by > unregistered classes or serializers. HIVE-12175 should have fixed these > issues for master branch. > {code} > Caused by: org.apache.hive.com.esotericsoftware.kryo.KryoException: > java.lang.NullPointerException > Serialization trace: > chidren (org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc) > expr (org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor) > childExpressions > (org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FilterStringColumnBetween) > conditionEvaluator > (org.apache.hadoop.hive.ql.exec.vector.VectorFilterOperator) > childOperators (org.apache.hadoop.hive.ql.exec.TableScanOperator) > aliasToWork (org.apache.hadoop.hive.ql.plan.MapWork) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507) > 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) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507) > at > org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:694) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.read(DefaultArraySerializers.java:367) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.read(DefaultArraySerializers.java:276) > 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) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507) > 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) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507) > at > org.apache.hive.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:776) > 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) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507) > at > org.apache.hive.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:776) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:139) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:17) > 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) > at > org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507) > at > org.apache.hive.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:672) > at > org.apache.hadoop.hive.ql.exec.Utilities.deserializeObjectByKryo(Utilities.java:1087) > at > org.apache.hadoop.hive.ql.exec.Utilities.deserializePlan(Utilities.java:976) > at > org.apache.hadoop.hive.ql.exec.Utilities.deserializePlan(Utilities.java:990) > at > org.apache.hadoop.hive.ql.exec.Utilities.getBaseWork(Utilities.java:426) > ... 27 more > Caused by: java.lang.NullPointerException > at java.util.Arrays$ArrayList.size(Arrays.java:3818) > 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)