You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "FangBO (Jira)" <ji...@apache.org> on 2023/05/10 12:46:00 UTC

[jira] [Reopened] (HIVE-27315) DynamicPartitionPruningOptimization.generateSemiJoinOperatorPlan throws NPE when hive.tez.dynamic.semijoin.reduction=true

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

FangBO reopened HIVE-27315:
---------------------------

> DynamicPartitionPruningOptimization.generateSemiJoinOperatorPlan throws NPE when hive.tez.dynamic.semijoin.reduction=true
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-27315
>                 URL: https://issues.apache.org/jira/browse/HIVE-27315
>             Project: Hive
>          Issue Type: Bug
>          Components: CBO, Tez
>    Affects Versions: 2.3.9, 3.1.2
>            Reporter: FangBO
>            Priority: Major
>             Fix For: 4.0.0
>
>
> Hive version:
> {code:java}
> 2.3.9
> 3.1.2{code}
>  
> Table definition:
> {code:java}
> CREATE TABLE `t`(
>   `emplid` string COMMENT '', 
>   `effdt` string COMMENT '', 
>   `mar_status` string COMMENT ''); {code}
> Query:
> {code:java}
> SELECT t1.emplid, t1.effdt, t2.mar_status
> FROM (
>  SELECT emplid, max(effdt) AS effdt
>  FROM t
>  GROUP BY emplid
> ) t1
>  LEFT JOIN t t2
>  ON t1.emplid = t2.emplid
>  AND t1.effdt = t2.effdt; {code}
> Exception stacktrace:
>  
> {code:java}
> java.lang.NullPointerException
>         at org.apache.hadoop.hive.ql.optimizer.DynamicPartitionPruningOptimization.generateSemiJoinOperatorPlan(DynamicPartitionPruningOptimization.java:463)
>         at org.apache.hadoop.hive.ql.optimizer.DynamicPartitionPruningOptimization.process(DynamicPartitionPruningOptimization.java:226)
>         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.ForwardWalker.walk(ForwardWalker.java:74)
>         at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:120)
>         at org.apache.hadoop.hive.ql.parse.TezCompiler.runDynamicPartitionPruning(TezCompiler.java:370)
>         at org.apache.hadoop.hive.ql.parse.TezCompiler.optimizeOperatorPlan(TezCompiler.java:94)
>         at org.apache.hadoop.hive.ql.parse.TaskCompiler.compile(TaskCompiler.java:140)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:11273)
>         at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:286)
>         at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:258)
>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:512)
>         at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1317)
>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1457)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1237)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1227)
>         at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233) {code}



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