hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ning Zhang (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HIVE-1376) Simple UDAFs with more than 1 parameter crash on empty row query
Date Thu, 30 Sep 2010 22:10:33 GMT

     [ https://issues.apache.org/jira/browse/HIVE-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Ning Zhang updated HIVE-1376:

    Attachment: HIVE-1376.patch

Attaching a patch for review. This patch also fixes HIVE-1674 (count(*) returning wrong results).

Tests are still running. Will upload a new patch if there are more changes. 

This patch implements 3) as suggest and SELECT PERCENTILE(col, 0.5) from src where false;
will return a single row with NULL as value. 

> 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
>         Attachments: HIVE-1376.patch
> 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$PercentileLongEvaluator@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.

View raw message