[ 
https://issues.apache.org/jira/browse/HIVE-29456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated HIVE-29456:
----------------------------------
    Labels: pull-request-available  (was: )

> HiveProjectSortExchangeTransposeRule throws NoElementException when SORT BY 
> columns are not in SELECT list
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-29456
>                 URL: https://issues.apache.org/jira/browse/HIVE-29456
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>    Affects Versions: 4.3.0
>            Reporter: Soumyakanti Das
>            Assignee: Soumyakanti Das
>            Priority: Major
>              Labels: pull-request-available
>
> To repro, run:
> {code:java}
> CREATE TABLE test (
>     col1 STRING,
>     col2 STRING
> )
> EXPLAIN CBO
> SELECT col1
> FROM test
> SORT BY col1, col2; {code}
>  
>  
> Exception:
> {code:java}
>  ERROR [1fe1e79d-a84f-4e14-b52b-d4c0ca5ff776 main] parse.CalcitePlanner: CBO 
> failed, skipping CBO. 
> org.apache.calcite.util.mapping.Mappings$NoElementException: source #1 has no 
> target in mapping [size=1, sourceCount=2, targetCount=1, elements=[0:0]]
>   at 
> org.apache.calcite.util.mapping.Mappings$AbstractMapping.getTarget(Mappings.java:944)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.optimizer.calcite.HiveRelOptUtil.getNewRelFieldCollations(HiveRelOptUtil.java:1110)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveProjectSortExchangeTransposeRule.onMatch(HiveProjectSortExchangeTransposeRule.java:84)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:337)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:556) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:420) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.plan.hep.HepPlanner.executeRuleInstance(HepPlanner.java:243)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.plan.hep.HepInstruction$RuleInstance$State.execute(HepInstruction.java:178)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.plan.hep.HepPlanner.lambda$executeProgram$0(HepPlanner.java:211)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hive.com.google.common.collect.ImmutableList.forEach(ImmutableList.java:397)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:210) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.plan.hep.HepProgram$State.execute(HepProgram.java:118) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:205) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:191) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.executeProgram(CalcitePlanner.java:2562)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.executeProgram(CalcitePlanner.java:2522)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.executeProgram(CalcitePlanner.java:2516)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.applyPostJoinOrderingTransform(CalcitePlanner.java:2436)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:1727)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:1553)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.tools.Frameworks.lambda$withPlanner$0(Frameworks.java:140) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.calcite.prepare.CalcitePrepareImpl.perform(CalcitePrepareImpl.java:936)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:191) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:135) 
> ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner.logicalPlan(CalcitePlanner.java:1331)
>  ~[hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:588)
>  [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:13220)
>  [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:481)
>  [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:358)
>  [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:187)
>  [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:358)
>  [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.Compiler.analyze(Compiler.java:224) 
> [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.Compiler.compile(Compiler.java:109) 
> [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:498) 
> [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:450) 
> [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:414) 
> [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:408) 
> [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at 
> org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
>  [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:234) 
> [hive-exec-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259) 
> [hive-cli-4.3.0-SNAPSHOT.jar:?]
>   at org.apache.hadoop.hive.cli.CliDriver.processCmd1(CliDriver.java:203) 
> [hive-cli-4.3.0-SNAPSHOT.jar:?]
>   at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:129) 
> [hive-cli-4.3.0-SNAPSHOT.jar:?]
>   at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:430) 
> [hive-cli-4.3.0-SNAPSHOT.jar:?]
>   at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:358) 
> [hive-cli-4.3.0-SNAPSHOT.jar:?]
>   at 
> org.apache.hadoop.hive.ql.QTestUtil.executeClientInternal(QTestUtil.java:760) 
> [hive-it-util-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
>   at org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:730) 
> [hive-it-util-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT] {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to