[ 
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)

Reply via email to