Simple UDAFs with more than 1 parameter crash on empty row query 
-----------------------------------------------------------------

                 Key: HIVE-1376
                 URL: https://issues.apache.org/jira/browse/HIVE-1376
             Project: Hadoop Hive
          Issue Type: Bug
          Components: Query Processor
    Affects Versions: 0.6.0
            Reporter: Mayank Lahiri
             Fix For: 0.6.0


Simple UDAFs with more than 1 parameter crash when the query returns no rows. 
Currently, this only seems to affect the percentile() UDAF where the second 
parameter is the percentile to be computed (of type double). I've also verified 
the bug by adding a dummy parameter to ExampleMin in contrib. 

On an empty query, Hive seems to be trying to resolve an iterate() method with 
signature {null,null} instead of {null,double}. You can reproduce this bug 
using:

CREATE TABLE pct_test ( val INT );
SELECT percentile(val, 0.5) FROM pct_test;

which produces a lot of errors like: 

Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute 
method public boolean 
org.apache.hadoop.hive.ql.udf.UDAFPercentile$PercentileLongEvaluator.iterate(org.apache.hadoop.io.LongWritable,double)
  on object 
org.apache.hadoop.hive.ql.udf.udafpercentile$percentilelongevalua...@11d13272 
of class org.apache.hadoop.hive.ql.udf.UDAFPercentile$PercentileLongEvaluator 
with arguments {null, null} of size 2

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to