LuGuangMing created HIVE-24060:
----------------------------------
Summary: When the CBO is false, NPE is thrown by an EXCEPT or
INTERSECT execution
Key: HIVE-24060
URL: https://issues.apache.org/jira/browse/HIVE-24060
Project: Hive
Issue Type: Bug
Components: CBO, Hive
Affects Versions: 3.1.2, 3.1.0
Reporter: LuGuangMing
{code:java}
set hive.cbo.enable=false;
create table testtable(idx string, namex string) stored as orc;
insert into testtable values('123', 'aaa'), ('234', 'bbb');
explain select a.idx from (select idx,namex from testtable intersect select
idx,namex from testtable) a
{code}
The execution throws a NullPointException:
{code:java}
2020-08-24 15:12:24,261 | WARN | HiveServer2-Handler-Pool: Thread-345 | Error
executing statement: |
org.apache.hive.service.cli.thrift.ThriftCLIService.executeNewStatement(ThriftCLIService.java:1155)
org.apache.hive.service.cli.HiveSQLException: Error while compiling statement:
FAILED: NullPointerException null
at
org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:341)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:215)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:316)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.operation.Operation.run(Operation.java:253)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:684)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:670)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:342)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.thrift.ThriftCLIService.executeNewStatement(ThriftCLIService.java:1144)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:1280)
~[hive-service-3.1.0.jar:3.1.0]
at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557)
~[hive-service-rpc-3.1.0.jar:3.1.0]
at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542)
~[hive-service-rpc-3.1.0.jar:3.1.0]
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
~[libthrift-0.9.3.jar:0.9.3]
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor.process(HadoopThriftAuthBridge.java:648)
~[hive-standalone-metastore-3.1.0.jar:3.1.0]
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
~[libthrift-0.9.3.jar:0.9.3]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_201]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_201]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
Caused by: java.lang.NullPointerException
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:4367)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:4346)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPostGroupByBodyPlan(SemanticAnalyzer.java:10576)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:10515)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11434)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11291)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11318)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11304)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genOPTree(SemanticAnalyzer.java:12090)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12180)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:11692)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:281)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:164)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:281)
~[hive-exec-3.1.0.jar:3.1.0]
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:712)
~[hive-exec-3.1.0.jar:3.1.0]
at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:2117)
~[hive-exec-3.1.0.jar:3.1.0]
at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:2064)
~[hive-exec-3.1.0.jar:3.1.0]
at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:2059)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:137)
~[hive-exec-3.1.0.jar:3.1.0]
at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:204)
~[hive-service-3.1.0.jar:3.1.0]{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)