[ 
https://issues.apache.org/jira/browse/HIVE-22391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16957270#comment-16957270
 ] 

Jason Dere commented on HIVE-22391:
-----------------------------------

What happened was HS2 and the QueryResultsCache had previously hit the 
following error during HS2 initialization:
{noformat}
2019-10-21T14:50:34,602 WARN  [main]: server.HiveServer2 
(HiveServer2.java:startHiveServer2(1100)) - Error starting HiveServer2 on 
attempt 1, will retry in 60000ms
java.lang.RuntimeException: Error initializing the query results cache
        at 
org.apache.hive.service.server.HiveServer2.init(HiveServer2.java:266) 
~[hive-service-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at 
org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:1072)
 [hive-service-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at 
org.apache.hive.service.server.HiveServer2.access$1700(HiveServer2.java:135) 
[hive-service-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at 
org.apache.hive.service.server.HiveServer2$StartOptionExecutor.execute(HiveServer2.java:1341)
 [hive-service-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at 
org.apache.hive.service.server.HiveServer2.main(HiveServer2.java:1185) 
[hive-service-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:1.8.0_191]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_191]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_191]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_191]
        at org.apache.hadoop.util.RunJar.run(RunJar.java:318) 
[hadoop-common-3.1.1.3.1.0.86-1.jar:?]
        at org.apache.hadoop.util.RunJar.main(RunJar.java:232) 
[hadoop-common-3.1.1.3.1.0.86-1.jar:?]
Caused by: java.lang.RuntimeException: The dir: /tmp/hive/_resultscache_ on 
HDFS should be writable. Current permissions are: rwxr-xr-x
        at 
org.apache.hadoop.hive.ql.exec.Utilities.ensurePathIsWritable(Utilities.java:4512)
 ~[hive-exec-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at 
org.apache.hadoop.hive.ql.cache.results.QueryResultsCache.<init>(QueryResultsCache.java:365)
 ~[hive-exec-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at 
org.apache.hadoop.hive.ql.cache.results.QueryResultsCache.initialize(QueryResultsCache.java:395)
 ~[hive-exec-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        at 
org.apache.hive.service.server.HiveServer2.init(HiveServer2.java:264) 
~[hive-service-3.1.0.3.1.0.86-1.jar:3.1.0.3.1.0.86-1]
        ... 10 more
{noformat}

HS2 should have failed startup with this error, but it looks like HS2 
re-attempts initialization more than once (without restarting). 
QueryResultsCache.inited should have been resetted back to false (so that 
QueryResultsCache.initialize() would hit this same error again), but it looks 
like the exception handling was only catching IOException, and so 
RuntimeException was not handled within QueryResultsCache.initialize(). The 
error handling here should be fixed.

> NPE while checking Hive query results cache
> -------------------------------------------
>
>                 Key: HIVE-22391
>                 URL: https://issues.apache.org/jira/browse/HIVE-22391
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Planning
>            Reporter: Jason Dere
>            Assignee: Jason Dere
>            Priority: Major
>
> NPE when results cache was enabled:
> {noformat}
> 2019-10-21T14:51:55,718 ERROR [b7d7bea8-eef0-4ea4-ae12-951cb5dc96e3 
> HiveServer2-Handler-Pool: Thread-210]: ql.Driver (:()) - FAILED: 
> NullPointerException null
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.checkResultsCache(SemanticAnalyzer.java:15061)
>         at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12320)
>         at 
> org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:360)
>         at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:289)
>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:664)
>         at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1869)
>         at 
> org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1816)
>         at 
> org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1811)
>         at 
> org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
>         at 
> org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:197)
>         at 
> org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:262)
>         at 
> org.apache.hive.service.cli.operation.Operation.run(Operation.java:247)
>         at 
> org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:575)
>         at 
> org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:561)
>         at 
> org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:315)
>         at 
> org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:566)
>         at 
> org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557)
>         at 
> org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542)
>         at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
>         at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
>         at 
> org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor.process(HadoopThriftAuthBridge.java:647)
>         at 
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to