[
https://issues.apache.org/jira/browse/HIVE-11004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14633464#comment-14633464
]
Martin Benson commented on HIVE-11004:
--------------------------------------
Thanks Mostafa and apologies for the delayed reponse!
I tried using that setting but it didn't work. I think the ORC thing is perhaps
a red herring - there are other errors related to permgen space once HS2 is
unresponsive. e.g.:
2015-07-20 09:37:25,114 WARN
org.apache.hive.service.cli.thrift.ThriftCLIService: Error opening session:
org.apache.hive.service.cli.HiveSQLException: Failed to open new session:
java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
at
org.apache.hive.service.cli.session.SessionManager.openSession(SessionManager.java:256)
at
org.apache.hive.service.cli.CLIService.openSession(CLIService.java:191)
at
org.apache.hive.service.cli.thrift.ThriftCLIService.getSessionHandle(ThriftCLIService.java:405)
at
org.apache.hive.service.cli.thrift.ThriftCLIService.OpenSession(ThriftCLIService.java:297)
at
org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1253)
at
org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1238)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor.process(HadoopThriftAuthBridge.java:692)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Unable to
instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
at
org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:472)
at
org.apache.hive.service.cli.session.HiveSessionImpl.open(HiveSessionImpl.java:134)
at
org.apache.hive.service.cli.session.SessionManager.openSession(SessionManager.java:254)
... 12 more
Caused by: java.lang.RuntimeException: Unable to instantiate
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
at
org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1488)
at
org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:64)
at
org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:74)
at
org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2841)
at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2860)
at
org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:453)
... 14 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at
org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1486)
... 19 more
Caused by: java.lang.OutOfMemoryError: PermGen space
In case it helps, this behaviour happens every time I try to run a particular,
relatively complex query. It is a chain of views with depends on each other
that then come together in a persisted table. e.g. along the lines of (but
obviously more complicated!)
CREATE VIEW tmpvw1 as SELECT ... FROM sometable;
CREATE VIEW tmpvw2 as SELECT ... FROM tmpvw1;
CREATE VIEW tmpvw3 as SELECT ... FROM tmpvw2;
CREATE VIEW tmpvw4 as SELECT ... FROM tmpvw3;
CREATE VIEW tmpvw5 as SELECT ... FROM tmpvw4;
CREATE VIEW tmpvw6 as SELECT ... FROM tmpvw5;
CREATE VIEW tmpvw7 as SELECT ... FROM tmpvw6;
CREATE VIEW tmpvw8 as SELECT ... FROM tmpvw7;
CREATE VIEW tmpvw9 as SELECT ... FROM tmpvw8;
CREATE VIEW tmpvw10 as SELECT ... FROM tmpvw9;
CREATE TABLE newtable as SELECT... FROM tmpvw10;
> PermGen OOM error in Hiveserver2
> --------------------------------
>
> Key: HIVE-11004
> URL: https://issues.apache.org/jira/browse/HIVE-11004
> Project: Hive
> Issue Type: Bug
> Components: HiveServer2
> Affects Versions: 1.1.0
> Environment: cdh 5.4
> Reporter: Martin Benson
> Priority: Critical
>
> Periodically Hiveserver2 will become unresponsive and looking in the logs
> there is the following error:
> {noformat}
> 2:28:22.965 PM ERROR org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
> Unexpected Exception
> java.lang.OutOfMemoryError: PermGen space
> 2:28:22.969 PM WARN
> org.apache.hive.service.cli.thrift.ThriftCLIService
> Error fetching results:
> org.apache.hive.service.cli.HiveSQLException: java.io.IOException:
> java.lang.RuntimeException: serious problem
> at
> org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:343)
> at
> org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:250)
> at
> org.apache.hive.service.cli.session.HiveSessionImpl.fetchResults(HiveSessionImpl.java:656)
> at
> org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:451)
> at
> org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:672)
> at
> org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1553)
> at
> org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1538)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> at
> org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor.process(HadoopThriftAuthBridge.java:692)
> at
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.IOException: java.lang.RuntimeException: serious problem
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:507)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:414)
> at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:138)
> at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1655)
> at
> org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:338)
> ... 13 more
> Caused by: java.lang.RuntimeException: serious problem
> at
> org.apache.hadoop.hive.ql.io.orc.OrcInputFormat$Context.waitForTasks(OrcInputFormat.java:478)
> at
> org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo(OrcInputFormat.java:944)
> at
> org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.getSplits(OrcInputFormat.java:969)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:362)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:294)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:445)
> ... 17 more
> Caused by: java.lang.OutOfMemoryError: PermGen space
> {noformat}
> There does not appear to be an obvious trigger for this (other than the fact
> that the error mentions ORC). If further details would be helpful in
> diagnosing the issue please let me know and I'll supply them.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)