hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashutosh Chauhan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-12384) Union Operator may produce incorrect result on TEZ
Date Mon, 16 Nov 2015 20:06:11 GMT

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

Ashutosh Chauhan commented on HIVE-12384:
-----------------------------------------

I think better fix is to always insert a select operator (whenever there is a need for casting)
regardless of execution engine type. We should get rid of Union operator at runtime altogether
(since its not doing any useful computation). 

Planning needs to be as independent of run time execution engine as much as possible.


> Union Operator may produce incorrect result on TEZ
> --------------------------------------------------
>
>                 Key: HIVE-12384
>                 URL: https://issues.apache.org/jira/browse/HIVE-12384
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>    Affects Versions: 0.14.0, 1.0.0, 1.1.0, 1.0.1, 1.2.1
>            Reporter: Laljo John Pullokkaran
>            Assignee: Laljo John Pullokkaran
>         Attachments: HIVE-12384.1.patch, HIVE-12384.2.patch, HIVE-12384.3.patch
>
>
> Union queries may produce incorrect result on TEZ.
> TEZ removes union op, thus might loose the implicit cast in union op.
> Reproduction test case:
> set hive.cbo.enable=false;
> set hive.execution.engine=tez;
> select (x/sum(x) over())  as y from(select cast(1 as decimal(10,0))  as x from (select
* from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src
limit 2) s2 union all select '100000000' x from (select * from src limit 2) s3)u order by
y;
> select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0))  as x from (select
* from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src
limit 2) s2 union all select cast (null as string) x from (select * from src limit 2) s3)u
order by y;



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message