hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Navis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-9278) Cached expression feature broken in one case
Date Thu, 08 Jan 2015 01:27:36 GMT

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

Navis commented on HIVE-9278:
-----------------------------

[~ashutoshc] In caching, identity was checked by comparing toString(). But for UDFs (not GenericUDF),
these return always same class name (org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge)
making them shared between different expressions. In the testcase, "length(key)" and "reverse(key)"
are both UDFs, resulting length(key)=reverse(key) always. Now it's checked correctly with
ExprNodeDesc itself (with isSame() method).

> Cached expression feature broken in one case
> --------------------------------------------
>
>                 Key: HIVE-9278
>                 URL: https://issues.apache.org/jira/browse/HIVE-9278
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.14.0
>            Reporter: Matt McCline
>            Assignee: Navis
>            Priority: Critical
>         Attachments: HIVE-9278.1.patch.txt
>
>
> Different query result depending on whether hive.cache.expr.evaluation is true or false.
 When true, no query results are produced (this is wrong).
> The q file:
> {noformat}
> set hive.cache.expr.evaluation=true;
> CREATE TABLE cache_expr_repro (date_str STRING);
> LOAD DATA LOCAL INPATH '../../data/files/cache_expr_repro.txt' INTO TABLE cache_expr_repro;
> SELECT MONTH(date_str) AS `mon`, CAST((MONTH(date_str) - 1) / 3 + 1 AS int) AS `quarter`,
  YEAR(date_str) AS `year` FROM cache_expr_repro WHERE ((CAST((MONTH(date_str) - 1) / 3 +
1 AS int) = 1) AND (YEAR(date_str) = 2015)) GROUP BY MONTH(date_str), CAST((MONTH(date_str)
- 1) / 3 + 1 AS int),   YEAR(date_str) ;
> {noformat}
> cache_expr_repro.txt
> {noformat}
> 2015-01-01 00:00:00
> 2015-02-01 00:00:00
> 2015-01-01 00:00:00
> 2015-02-01 00:00:00
> 2015-01-01 00:00:00
> 2015-01-01 00:00:00
> 2015-02-01 00:00:00
> 2015-02-01 00:00:00
> 2015-01-01 00:00:00
> 2015-01-01 00:00:00
> {noformat}



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

Mime
View raw message