[ https://issues.apache.org/jira/browse/PHOENIX-3662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Soldatov updated PHOENIX-3662: ------------------------------------- Labels: HivePhoenix (was: ) > PhoenixStorageHandler throws ClassCastException. > ------------------------------------------------ > > Key: PHOENIX-3662 > URL: https://issues.apache.org/jira/browse/PHOENIX-3662 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.9.0 > Reporter: Jeongdae Kim > Assignee: Jeongdae Kim > Labels: HivePhoenix > Attachments: PHOENIX-3662.1.patch, PHOENIX-3662.2.patch > > > when executing a query that has between clauses embraced by function, phoenix > storage handler throws class cast exception like below. > and in addition, i found some bugs when handling push down predicates. > {code} > 2017-02-06T16:35:26,019 ERROR [7d29d400-2ec5-4ab8-84c2-041b55c3e24b > HiveServer2-Handler-Pool: Thread-57]: ql.Driver > (SessionState.java:printError(1097)) - FAILED: ClassCastException > org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc cannot be cast to > org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc > java.lang.ClassCastException: > org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc cannot be cast to > org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc > at > org.apache.phoenix.hive.ql.index.IndexPredicateAnalyzer.processingBetweenOperator(IndexPredicateAnalyzer.java:229) > at > org.apache.phoenix.hive.ql.index.IndexPredicateAnalyzer.analyzeExpr(IndexPredicateAnalyzer.java:369) > at > org.apache.phoenix.hive.ql.index.IndexPredicateAnalyzer.access$000(IndexPredicateAnalyzer.java:72) > at > org.apache.phoenix.hive.ql.index.IndexPredicateAnalyzer$1.process(IndexPredicateAnalyzer.java:165) > 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:158) > at > org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:120) > at > org.apache.phoenix.hive.ql.index.IndexPredicateAnalyzer.analyzePredicate(IndexPredicateAnalyzer.java:176) > at > org.apache.phoenix.hive.ppd.PhoenixPredicateDecomposer.decomposePredicate(PhoenixPredicateDecomposer.java:63) > at > org.apache.phoenix.hive.PhoenixStorageHandler.decomposePredicate(PhoenixStorageHandler.java:238) > at > org.apache.hadoop.hive.ql.ppd.OpProcFactory.pushFilterToStorageHandler(OpProcFactory.java:1004) > at > org.apache.hadoop.hive.ql.ppd.OpProcFactory.createFilter(OpProcFactory.java:910) > at > org.apache.hadoop.hive.ql.ppd.OpProcFactory.createFilter(OpProcFactory.java:880) > at > org.apache.hadoop.hive.ql.ppd.OpProcFactory$TableScanPPD.process(OpProcFactory.java:429) > 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:158) > at > org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:120) > at > org.apache.hadoop.hive.ql.ppd.SimplePredicatePushDown.transform(SimplePredicatePushDown.java:102) > at > org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize(Optimizer.java:242) > at > org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:10921) > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:246) > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:250) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:471) > at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1242) > at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1229) > at > org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:191) > at > org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:276) > at > org.apache.hive.service.cli.operation.Operation.run(Operation.java:324) > at > org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:499) > at > org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:486) > at > org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:294) > at > org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:505) > at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1437) > at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1422) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56) > at > org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)