[ 
https://issues.apache.org/jira/browse/HIVE-25919?focusedWorklogId=720290&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-720290
 ]

ASF GitHub Bot logged work on HIVE-25919:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 03/Feb/22 17:27
            Start Date: 03/Feb/22 17:27
    Worklog Time Spent: 10m 
      Work Description: zabetak opened a new pull request #2996:
URL: https://github.com/apache/hive/pull/2996


   ### What changes were proposed in this pull request?
   
   The predicate analyzer can only handle expressions of the form:
   1. `col comp_op constant`
   2. `constant comp_op col`
   and these are always `ExprNodeGenericFuncDesc`.
   
   The new if clause ensures that we are never going to handle anything that is 
not supported.
   
   ### Why are the changes needed?
   Avoids the `ClassCastException` during predicate pushdown.
   
   ### Does this PR introduce _any_ user-facing change?
   No apart from solving the problem.
   
   ### How was this patch tested?
   `mvn test -Dtest=TestHBaseCliDriver -Dqfile="hbase_ppd_boolean_cols.q"`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 720290)
    Remaining Estimate: 0h
            Time Spent: 10m

> ClassCastException when pushing boolean column predicate in 
> HBaseStorageHandler
> -------------------------------------------------------------------------------
>
>                 Key: HIVE-25919
>                 URL: https://issues.apache.org/jira/browse/HIVE-25919
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Naresh P R
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>         Attachments: test.q
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The following queries fail with a {{ClassCastException}} when the optimizer 
> tries to push the predicates in the underlying HBase table.
> {code:sql}
> CREATE TABLE hbase_table(row_key string, c1 boolean, c2 boolean)
> STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
> WITH SERDEPROPERTIES (
> "hbase.columns.mapping" = ":key,cf:c1,cf:c2"
> );
> -- Q1
> select * from hbase_table where c1 and c2;
> -- Q2
> select * from hbase_table where c1=true and c2=true;
> {code}
> {code:java}
> ClassCastException org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc cannot 
> be cast to org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc
> java.lang.ClassCastException: 
> org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc cannot be cast to 
> org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc
>         at 
> org.apache.hadoop.hive.ql.index.IndexPredicateAnalyzer$1.process(IndexPredicateAnalyzer.java:163)
>         at 
> org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90)
>         at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:105)
>         at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:89)
>         at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:178)
>         at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:120)
>         at 
> org.apache.hadoop.hive.ql.index.IndexPredicateAnalyzer.analyzePredicate(IndexPredicateAnalyzer.java:174)
>         at 
> org.apache.hadoop.hive.hbase.HBaseStorageHandler.decomposePredicate(HBaseStorageHandler.java:415)
>  
> {code}
> mvn test -Dtest=TestHBaseCliDriver -Dqfile=test.q -Dtest.output.overwrite 
> -DskipSparkTests -pl itests/qtest -Pitests
> The failure in Q2 is probably related to HIVE-13815 since the expression (c1 
> = true and c2 = true) is simplified to (c1 and c2) leading to the exception 
> above but the problem was probably there even before as Q1 is failing as well 
> with the same stacktrace.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to