[
https://issues.apache.org/jira/browse/HIVE-29267?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shohei Okumiya updated HIVE-29267:
----------------------------------
Summary: Fix NPE on Grouping Sets Optimizer for UNION ALL Queries (was:
Facing NullPointerException Cannot invoke "java.util.Map.containsKey(Object)"
on running union all query)
> Fix NPE on Grouping Sets Optimizer for UNION ALL Queries
> --------------------------------------------------------
>
> Key: HIVE-29267
> URL: https://issues.apache.org/jira/browse/HIVE-29267
> Project: Hive
> Issue Type: Bug
> Affects Versions: 4.0.1
> Reporter: chiranjeevi
> Assignee: Indhumathi Muthumurugesh
> Priority: Major
> Labels: pull-request-available
>
> Steps to reproduce
> create table grp_set_test (key string, value string, col0 int, col1 int, col2
> int, col3 int);
> set hive.optimize.grouping.set.threshold=1;
> with ssr as (select col2 as sales from grp_set_test)
> select channel , sum(sales) as sales
> from
> (select 'store channel' as channel, sales from ssr union all
> select 'catalog channel' as channel, sales from ssr
> ) x
> group by channel with rollup;
> *Actual Error:*
> Caused by: java.lang.NullPointerException: Cannot invoke
> "java.util.Map.containsKey(Object)" because the return value of
> "org.apache.hadoop.hive.ql.exec.Operator.getColumnExprMap()" is null
> at
> org.apache.hadoop.hive.ql.optimizer.GroupingSetOptimizer$GroupingSetProcessor.selectPartitionColumn(GroupingSetOptimizer.java:230)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.optimizer.GroupingSetOptimizer$GroupingSetProcessor.process(GroupingSetOptimizer.java:100)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:105)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:89)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:158)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:120)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.optimizer.GroupingSetOptimizer.transform(GroupingSetOptimizer.java:374)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.parse.TezCompiler.runStatsDependentOptimizations(TezCompiler.java:497)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.parse.TezCompiler.optimizeOperatorPlan(TezCompiler.java:227)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.parse.TaskCompiler.compile(TaskCompiler.java:182)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.compilePlan(SemanticAnalyzer.java:13150)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:13378)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:481)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:332)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at org.apache.hadoop.hive.ql.Compiler.analyze(Compiler.java:224)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at org.apache.hadoop.hive.ql.Compiler.compile(Compiler.java:109)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:508)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:460)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:424)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:418)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:121)
> ~[hive-exec-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> at
> org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:207)
> ~[hive-service-4.0.1.3.4.1.0-4.jar:4.0.1.3.4.1.0-4]
> ... 26 more
--
This message was sent by Atlassian Jira
(v8.20.10#820010)