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

Ashutosh Chauhan commented on HIVE-5279:
----------------------------------------

Its a custom UDAFEvaluator {{GenericUDAFGroupOn}} which for some reason 
contains ObjectInspector without a no-arg constructor. Probably, none of the 
evaluator which we have in our tests have this. Since, evaluator is used at 
runtime, so it needs to be reconstructed anyways at backend. See, 
GroupByOperator::initializeOp(). Hence there is no reason good reason to 
serialize the constructed instance of it from frontend to backend.
                
> Kryo cannot instantiate GenericUDAFEvaluator in GroupByDesc
> -----------------------------------------------------------
>
>                 Key: HIVE-5279
>                 URL: https://issues.apache.org/jira/browse/HIVE-5279
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>            Reporter: Navis
>            Priority: Critical
>         Attachments: 5279.patch
>
>
> We didn't forced GenericUDAFEvaluator to be Serializable. I don't know how 
> previous serialization mechanism solved this but, kryo complaints that it's 
> not Serializable and fails the query.
> The log below is the example, 
> {noformat}
> java.lang.RuntimeException: com.esotericsoftware.kryo.KryoException: Class 
> cannot be created (missing no-arg constructor): 
> org.apache.hadoop.hive.serde2.objectinspector.StandardListObjectInspector
> Serialization trace:
> inputOI 
> (org.apache.hadoop.hive.ql.udf.generic.GenericUDAFGroupOn$VersionedFloatGroupOnEval)
> genericUDAFEvaluator (org.apache.hadoop.hive.ql.plan.AggregationDesc)
> aggregators (org.apache.hadoop.hive.ql.plan.GroupByDesc)
> conf (org.apache.hadoop.hive.ql.exec.GroupByOperator)
> childOperators (org.apache.hadoop.hive.ql.exec.SelectOperator)
> childOperators (org.apache.hadoop.hive.ql.exec.TableScanOperator)
> aliasToWork (org.apache.hadoop.hive.ql.plan.MapWork)
>       at 
> org.apache.hadoop.hive.ql.exec.Utilities.getBaseWork(Utilities.java:312)
>       at 
> org.apache.hadoop.hive.ql.exec.Utilities.getMapWork(Utilities.java:261)
>       at 
> org.apache.hadoop.hive.ql.io.HiveInputFormat.init(HiveInputFormat.java:256)
>       at 
> org.apache.hadoop.hive.ql.io.HiveInputFormat.pushProjectionsAndFilters(HiveInputFormat.java:383)
>       at org.apache.h
> {noformat}
> If this cannot be fixed in somehow, some UDAFs should be modified to be run 
> on hive-0.13.0

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to