[ https://issues.apache.org/jira/browse/HIVE-10512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jesus Camacho Rodriguez updated HIVE-10512: ------------------------------------------- Attachment: HIVE-10512.patch [~ashutoshc], could you take a look? The problem was that we were storing all operators in aliasToOpInfo DS in the Join descriptors, leading to orphan operators when some other optimization would replace them. This patch fixes the problem by only adding the operators that are actually needed, as it is done by SemanticAnalyzer. Thanks > CBO (Calcite Return Path): SMBJoin conversion throws ClassCastException > ----------------------------------------------------------------------- > > Key: HIVE-10512 > URL: https://issues.apache.org/jira/browse/HIVE-10512 > Project: Hive > Issue Type: Sub-task > Components: CBO > Reporter: Jesus Camacho Rodriguez > Assignee: Jesus Camacho Rodriguez > Fix For: 1.2.0 > > Attachments: HIVE-10512.patch > > > When return path is on, SMB conversion is throwing an Exception in some cases. > The problem can be reproduced with auto_join32.q. The Exception with the > following stacktrace is thrown: > {noformat} > java.lang.ClassCastException: org.apache.hadoop.hive.ql.exec.FilterOperator > cannot be cast to org.apache.hadoop.hive.ql.exec.TableScanOperator > at > org.apache.hadoop.hive.ql.parse.TableAccessAnalyzer.genRootTableScan(TableAccessAnalyzer.java:243) > at > org.apache.hadoop.hive.ql.optimizer.AbstractBucketJoinProc.checkConvertBucketMapJoin(AbstractBucketJoinProc.java:226) > at > org.apache.hadoop.hive.ql.optimizer.AbstractSMBJoinProc.canConvertJoinToBucketMapJoin(AbstractSMBJoinProc.java:497) > at > org.apache.hadoop.hive.ql.optimizer.AbstractSMBJoinProc.canConvertJoinToSMBJoin(AbstractSMBJoinProc.java:414) > at > org.apache.hadoop.hive.ql.optimizer.SortedMergeJoinProc.process(SortedMergeJoinProc.java:45) > at > org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90) > at > org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:95) > at > org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:79) > at > org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:133) > at > org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:110) > at > org.apache.hadoop.hive.ql.optimizer.SortedMergeBucketMapJoinOptimizer.transform(SortedMergeBucketMapJoinOptimizer.java:109) > at > org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize(Optimizer.java:201) > at > org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:10071) > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:204) > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:225) > at > org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:74) > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:225) > ... > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)