You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Eugene Koifman (JIRA)" <ji...@apache.org> on 2017/02/06 23:13:41 UTC
[jira] [Updated] (HIVE-15755) NullPointerException on invalid table
name in ON clause of Merge statement
[ https://issues.apache.org/jira/browse/HIVE-15755?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eugene Koifman updated HIVE-15755:
----------------------------------
Component/s: (was: HiveServer2)
> NullPointerException on invalid table name in ON clause of Merge statement
> --------------------------------------------------------------------------
>
> Key: HIVE-15755
> URL: https://issues.apache.org/jira/browse/HIVE-15755
> Project: Hive
> Issue Type: Bug
> Components: Transactions
> Reporter: Kavan Suresh
> Assignee: Eugene Koifman
> Priority: Critical
>
> Ran into this error message - "Error while compiling statement: FAILED: NullPointerException null " when I specified an incorrect tablename in the merge statement.
>
> {code:java}
> > create table src (col1 int,col2 int);
> No rows affected (0.231 seconds)
> > create table trgt (tcol1 int,tcol2 int);
> No rows affected (0.182 seconds)
> > insert into src values (1,232);
> {code}
> {code:java}
> > merge into trgt using (select * from src) sub on sub.col1 = *invalidtablename.tcol1* when not matched then insert values (sub.col1,sub.col2);
> Error: Error while compiling statement: FAILED: NullPointerException null (state=42000,code=40000)
> > merge into trgt using (select * from src) sub on sub.col1 = *trgt.tcol1* when not matched then insert values (sub.col1,sub.col2);
> INFO : Session is already open
> INFO : Dag name: merge into trgt using ...(sub.col1,sub.col2)(Stage-1)
> INFO : Setting tez.task.scale.memory.reserve-fraction to 0.30000001192092896
> INFO :
> INFO : Status: Running (Executing on YARN cluster with App id application_1485398058799_0129)
> INFO : Map 1: 0/1 Map 2: -/-
> INFO : Map 1: 0(+1)/1 Map 2: -/-
> INFO : Map 1: 0(+1)/1 Map 2: -/-
> INFO : Map 1: 1/1 Map 2: -/-
> INFO : Loading data to table tpch.trgt from hdfs://tesths2-merge-ks-5.openstacklocal:8020/apps/hive/warehouse/tpch.db/trgt/.hive-staging_hive_2017-01-30_06-54-50_743_6276941178188398287-1/-ext-10000
> INFO : Table tpch.trgt stats: [numFiles=1, numRows=1, totalSize=4, rawDataSize=3]
> No rows affected (7.709 seconds)
> {code}
> Hiveserver2 logs:
> {code:java}
> 2017-01-30 19:34:09,972 INFO [HiveServer2-Handler-Pool: Thread-70]: parse.ParseDriver (ParseDriver.java:parse(185)) - Parsing command: merge into trgt using (select * from src) sub on sub.col1 = target.tcol1 when not matched then insert values (sub.col1,sub.col2)
> 2017-01-30 19:34:09,975 INFO [HiveServer2-Handler-Pool: Thread-70]: parse.ParseDriver (ParseDriver.java:parse(209)) - Parse Completed
> 2017-01-30 19:34:09,976 INFO [HiveServer2-Handler-Pool: Thread-70]: log.PerfLogger (PerfLogger.java:PerfLogEnd(177)) - </PERFLOG method=parse start=1485804849971 end=1485804849976 duration=5 from=org.apache.hadoop.hive.ql.Driver>
> 2017-01-30 19:34:09,976 INFO [HiveServer2-Handler-Pool: Thread-70]: log.PerfLogger (PerfLogger.java:PerfLogBegin(149)) - <PERFLOG method=semanticAnalyze from=org.apache.hadoop.hive.ql.Driver>
> 2017-01-30 19:34:09,977 INFO [HiveServer2-Handler-Pool: Thread-70]: metastore.HiveMetaStore (HiveMetaStore.java:logInfo(824)) - 13: get_table : db=tpch tbl=trgt
> 2017-01-30 19:34:09,977 INFO [HiveServer2-Handler-Pool: Thread-70]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(393)) - ugi=hive ip=unknown-ip-addr cmd=get_table : db=tpch tbl=trgt
> 2017-01-30 19:34:10,031 ERROR [HiveServer2-Handler-Pool: Thread-70]: ql.Driver (SessionState.java:printError(980)) - FAILED: NullPointerException null
> java.lang.NullPointerException
> at org.apache.hadoop.hive.ql.parse.UpdateDeleteSemanticAnalyzer$OnClauseAnalyzer.getPredicate(UpdateDeleteSemanticAnalyzer.java:1143)
> at org.apache.hadoop.hive.ql.parse.UpdateDeleteSemanticAnalyzer$OnClauseAnalyzer.access$400(UpdateDeleteSemanticAnalyzer.java:1049)
> at org.apache.hadoop.hive.ql.parse.UpdateDeleteSemanticAnalyzer.handleInsert(UpdateDeleteSemanticAnalyzer.java:1025)
> at org.apache.hadoop.hive.ql.parse.UpdateDeleteSemanticAnalyzer.analyzeMerge(UpdateDeleteSemanticAnalyzer.java:660)
> at org.apache.hadoop.hive.ql.parse.UpdateDeleteSemanticAnalyzer.analyzeInternal(UpdateDeleteSemanticAnalyzer.java:80)
> at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:230)
> at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:465)
> at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:321)
> at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1221)
> at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1215)
> at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:146)
> at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:226)
> at org.apache.hive.service.cli.operation.Operation.run(Operation.java:276)
> at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:468)
> at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:456)
> at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:298)
> at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:506)
> at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1317)
> at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1302)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)