You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Jesus Camacho Rodriguez (JIRA)" <ji...@apache.org> on 2017/06/01 08:18:04 UTC
[jira] [Comment Edited] (HIVE-16775) Fix
HiveFilterAggregateTransposeRule when filter is always false
[ https://issues.apache.org/jira/browse/HIVE-16775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16032624#comment-16032624 ]
Jesus Camacho Rodriguez edited comment on HIVE-16775 at 6/1/17 8:17 AM:
------------------------------------------------------------------------
[~pxiong], [~ashutoshc], when we create a filter with a {{false}} predicate from the {{relBuilder}}, we should be calling {{empty}} method.
We had the same problem in the past so {{empty}} has been overridden in Hive own version of relBuilder:
https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelBuilder.java#L103
Thus we should not see this problem anymore.
Why are we generating a {{values}} operator? I think we are not using the right constructor where we pass the Hive builder to the rule, changing the Hive rule to use this one might fix the issue:
https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rel/rules/FilterAggregateTransposeRule.java#L64
In general, it would be good to replace calls to any deprecated Calcite method from Hive, this seems to be causing a couple of issues, e.g., with metadata providers.
was (Author: jcamachorodriguez):
[~pxiong], [~ashutoshc], when we create a filter with a {{false}} predicate from the {{relBuilder}}, we should be calling {{empty}} method.
We had the same problem in the past so _empty_ has been overridden in Hive own version of relBuilder:
https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelBuilder.java#L103
Thus we should not see this problem anymore.
Why are we generating a {{values}} operator? I think we are not using the right constructor where we pass the Hive builder to the rule, changing the Hive rule to use this one might fix the issue:
https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rel/rules/FilterAggregateTransposeRule.java#L64
In general, it would be good to replace calls to any deprecated Calcite method from Hive, this seems to be causing a couple of issues, e.g., with metadata providers.
> Fix HiveFilterAggregateTransposeRule when filter is always false
> ----------------------------------------------------------------
>
> Key: HIVE-16775
> URL: https://issues.apache.org/jira/browse/HIVE-16775
> Project: Hive
> Issue Type: Sub-task
> Reporter: Pengcheng Xiong
> Assignee: Pengcheng Xiong
> Attachments: HIVE-16775.01.patch, HIVE-16775.02.patch
>
>
> query4.q,query74.q
> {code}
> [7e490527-156a-48c7-aa87-8c80093cdfa8 main] ql.Driver: FAILED: NullPointerException null
> java.lang.NullPointerException
> at org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter$QBVisitor.visit(ASTConverter.java:457)
> at org.apache.calcite.rel.RelVisitor.go(RelVisitor.java:61)
> at org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter.convert(ASTConverter.java:110)
> at org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter.convertSource(ASTConverter.java:393)
> at org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter.convert(ASTConverter.java:115)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)