[
https://issues.apache.org/jira/browse/HIVE-18890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16731375#comment-16731375
]
Manoj Narayanan commented on HIVE-18890:
----------------------------------------
Both HiveException and InvalidTableException result in a SemanticException and
are logged separately. So they need not be logged here in getTable.
In case of an exception thrown from getTable methods it results in
SemanticException thrown from below given place,
[https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java#L2064]
If null is returned and no exception is thrown, then it results in Semantic
Exception from this place.
[https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java#L2135]
Some more details below. All below snippets are from log files.
*1) HiveException*
In a sample flow, HiveException results in a trace like this. (Sort of
simulated this scenario)
_2018-12-25T22:05:48,045 WARN [HiveServer2-Handler-Pool: Thread-68]
thrift.ThriftCLIService: Error executing statement:_
_org.apache.hive.service.cli.HiveSQLException: Error while compiling statement:
FAILED: SemanticException Unable to fetch table abc5. hive.default.abc5 table
not found_
_at
org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:339)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:199)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:260)
~[classes/:?]_
_at org.apache.hive.service.cli.operation.Operation.run(Operation.java:251)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:541)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:527)
~[classes/:?]_
_at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]_
_at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_112]_
_at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_112]_
_at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63)
~[classes/:?]_
_at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112]_
_at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_112]_
_at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
~[hadoop-common-3.1.0.jar:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59)
~[classes/:?]_
_at com.sun.proxy.$Proxy31.executeStatementAsync(Unknown Source) ~[?:?]_
_at
org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:312)
~[classes/:?]_
_at
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:563)
~[classes/:?]_
_at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557)
~[classes/:?]_
_at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542)
~[classes/:?]_
_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.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
~[classes/:?]_
_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:1142)
~[?:1.8.0_112]_
_at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
~[?:1.8.0_112]_
_at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]_
_Caused by: org.apache.hadoop.hive.ql.parse.SemanticException: Unable to fetch
table abc5. hive.default.abc5 table not found_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2083)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genResolvedParseTree(SemanticAnalyzer.java:12023)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12118)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:657) ~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1816)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1763)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1758)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
~[classes/:?]_
_... 27 more_
_Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch
table abc5. hive.default.abc5 table not found_
_at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1146)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1092)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getTableObjectByName(SemanticAnalyzer.java:11708)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2125)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2075)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genResolvedParseTree(SemanticAnalyzer.java:12023)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12118)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:657) ~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1816)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1763)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1758)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
~[classes/:?]_
_... 27 more_
_Caused by: org.apache.hadoop.hive.metastore.api.NoSuchObjectException:
hive.default.abc5 table not found_
_at
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_req_result$get_table_req_resultStandardScheme.read(ThriftHiveMetastore.java)
~[classes/:?]_
_at
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_req_result$get_table_req_resultStandardScheme.read(ThriftHiveMetastore.java)
~[classes/:?]_
_at
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_req_result.read(ThriftHiveMetastore.java)
~[classes/:?]_
_at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86)
~[libthrift-0.9.3.jar:0.9.3]_
_at
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_table_req(ThriftHiveMetastore.java:2079)
~[classes/:?]_
_at
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_table_req(ThriftHiveMetastore.java:2066)
~[classes/:?]_
_at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:1587)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.getTable(SessionHiveMetaStoreClient.java:169)
~[classes/:?]_
_at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) ~[?:?]_
_at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_112]_
_at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]_
_at
org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:212)
~[classes/:?]_
_at com.sun.proxy.$Proxy28.getTable(Unknown Source) ~[?:?]_
_at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) ~[?:?]_
_at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_112]_
_at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]_
_at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke(HiveMetaStoreClient.java:2783)
~[classes/:?]_
_at com.sun.proxy.$Proxy28.getTable(Unknown Source) ~[?:?]_
_at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1138)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1092)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getTableObjectByName(SemanticAnalyzer.java:11708)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2125)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2075)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genResolvedParseTree(SemanticAnalyzer.java:12023)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12118)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:657) ~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1816)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1763)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1758)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
~[classes/:?]_
_... 27 more_
*2) InvalidTableException*
_2018-12-26T00:16:10,844 WARN [HiveServer2-Handler-Pool: Thread-68]
thrift.ThriftCLIService: Error executing statement:_
_org.apache.hive.service.cli.HiveSQLException: Error while compiling statement:
FAILED: SemanticException [Error 10001]: Table not found abc5_
_at
org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:339)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:199)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:260)
~[classes/:?]_
_at org.apache.hive.service.cli.operation.Operation.run(Operation.java:251)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:541)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:527)
~[classes/:?]_
_at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]_
_at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_112]_
_at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_112]_
_at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63)
~[classes/:?]_
_at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112]_
_at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_112]_
_at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
~[hadoop-common-3.1.0.jar:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59)
~[classes/:?]_
_at com.sun.proxy.$Proxy31.executeStatementAsync(Unknown Source) ~[?:?]_
_at
org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:312)
~[classes/:?]_
_at
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:563)
~[classes/:?]_
_at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557)
~[classes/:?]_
_at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542)
~[classes/:?]_
_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.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
~[classes/:?]_
_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:1142)
~[?:1.8.0_112]_
_at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
~[?:1.8.0_112]_
_at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]_
_Caused by: org.apache.hadoop.hive.ql.parse.SemanticException: Table not found
abc5_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2083)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genResolvedParseTree(SemanticAnalyzer.java:12023)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12118)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:657) ~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1816)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1763)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1758)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
~[classes/:?]_
_... 27 more_
_Caused by: org.apache.hadoop.hive.ql.metadata.InvalidTableException: Table not
found abc5_
_at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1149)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1092)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getTableObjectByName(SemanticAnalyzer.java:11708)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2125)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2075)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genResolvedParseTree(SemanticAnalyzer.java:12023)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12118)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:657) ~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1816)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1763)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1758)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
~[classes/:?]_
_... 27 more_
*3) Returning null from this method results in a trace like below.*
_2018-12-25T23:45:34,257 WARN [HiveServer2-Handler-Pool: Thread-68]
thrift.ThriftCLIService: Error executing statement:_
_org.apache.hive.service.cli.HiveSQLException: Error while compiling statement:
FAILED: SemanticException [Error 10001]: Line 1:42 Table not found 'abc5'_
_at
org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:339)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:199)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:260)
~[classes/:?]_
_at org.apache.hive.service.cli.operation.Operation.run(Operation.java:251)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:541)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:527)
~[classes/:?]_
_at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]_
_at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_112]_
_at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_112]_
_at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36)
~[classes/:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63)
~[classes/:?]_
_at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112]_
_at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_112]_
_at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
~[hadoop-common-3.1.0.jar:?]_
_at
org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59)
~[classes/:?]_
_at com.sun.proxy.$Proxy31.executeStatementAsync(Unknown Source) ~[?:?]_
_at
org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:312)
~[classes/:?]_
_at
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:563)
~[classes/:?]_
_at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557)
~[classes/:?]_
_at
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542)
~[classes/:?]_
_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.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
~[classes/:?]_
_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:1142)
~[?:1.8.0_112]_
_at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
~[?:1.8.0_112]_
_at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]_
_Caused by: org.apache.hadoop.hive.ql.parse.SemanticException: Line 1:42 Table
not found 'abc5'_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2155)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2075)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genResolvedParseTree(SemanticAnalyzer.java:12023)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12118)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:657) ~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1816)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1763)
~[classes/:?]_
_at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1758)
~[classes/:?]_
_at
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
~[classes/:?]_
_at
org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
~[classes/:?]_
_... 27 more_
> Lower Logging for "Table not found" Error
> -----------------------------------------
>
> Key: HIVE-18890
> URL: https://issues.apache.org/jira/browse/HIVE-18890
> Project: Hive
> Issue Type: Improvement
> Components: HiveServer2
> Affects Versions: 3.0.0
> Reporter: BELUGA BEHR
> Assignee: Manoj Narayanan
> Priority: Minor
>
> https://github.com/apache/hive/blob/7cb31c03052b815665b3231f2e513b9e65d3ff8c/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java#L1105
> {code:java}
> // Get the table from metastore
> org.apache.hadoop.hive.metastore.api.Table tTable = null;
> try {
> tTable = getMSC().getTable(dbName, tableName);
> } catch (NoSuchObjectException e) {
> if (throwException) {
> LOG.error("Table " + tableName + " not found: " + e.getMessage());
> throw new InvalidTableException(tableName);
> }
> return null;
> } catch (Exception e) {
> throw new HiveException("Unable to fetch table " + tableName + ". " +
> e.getMessage(), e);
> }
> {code}
> We should throw an exception or log it, but not both. Right [~mdrob] ? ;)
> And in this case, we are generating scary ERROR level logging in the
> HiveServer2 logs needlessly. This should not be reported as an application
> error. It is a simple user error, indicated by catching the
> _NoSuchObjectException_ Throwable, that can always be ignored by the service.
> It is most likely a simple user typo of the table name. However, the more
> serious general _Exception_ is not logged. This is backwards.
> Please remove the _error_ level logging for the user error... or lower it to
> _debug_ level logging.
> Please include an _error_ level logging to the general Exception case, unless
> this Exception is being captured up the stack, somewhere else, and is being
> logged there at ERROR level logging.
> {code}
> -- Sample log messages found in HS2 logs
> 2018-03-02 10:26:40,363 ERROR hive.ql.metadata.Hive:
> [HiveServer2-Handler-Pool: Thread-4467]: Table default not found:
> default.default table not found
> 2018-03-02 10:26:40,367 ERROR hive.ql.metadata.Hive:
> [HiveServer2-Handler-Pool: Thread-4467]: Table default not found:
> default.default table not found
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)