You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Hello World <cs...@gmail.com> on 2011/07/22 16:55:02 UTC

java.lang.IllegalStateException when getTable

when I run hive sql "select * from user_info" with hive-jdbc(HiveServer)
,exception occur below.
but I run the command "desc user_info" with cli,it's ok,no exception happen

if I restart the HiveServer, it gets well
this exception often occur after hiveServer run days.
is this a bug of datanucleus?

My hive version is 0.6.0

Exception:

2011-07-22 21:05:52,874 ERROR exec.DDLTask
(SessionState.java:printError(277)) - FAILED: Error in metadata: Unable to
fetch table user_info
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table
user_info
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:523)
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:475)
at org.apache.hadoop.hive.ql.exec.DDLTask.dropTable(DDLTask.java:1838)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:176)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:107)
at
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:55)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:633)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:506)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:384)
at
org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:115)
at
org.apache.hadoop.hive.service.ThriftHive$Processor$execute.process(ThriftHive.java:378)
at
org.apache.hadoop.hive.service.ThriftHive$Processor.process(ThriftHive.java:366)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: Table object has not been been
initialised : `TBLS`
at
org.datanucleus.store.rdbms.table.AbstractTable.assertIsInitialized(AbstractTable.java:625)
at
org.datanucleus.store.rdbms.table.ClassTable.getMemberMapping(ClassTable.java:2996)
at
org.datanucleus.store.mapped.expression.LogicSetExpression.newFieldExpression(LogicSetExpression.java:195)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileIdentifier(JDOQLQueryCompiler.java:953)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compilePrimary(JDOQLQueryCompiler.java:774)
at
org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileUnaryExpressionNotPlusMinus(QueryCompiler.java:1333)
at
org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileUnaryExpression(QueryCompiler.java:1314)
at
org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileMultiplicativeExpression(QueryCompiler.java:1267)
at
org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileAdditiveExpression(QueryCompiler.java:1244)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileRelationalExpression(JDOQLQueryCompiler.java:687)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileEqualityExpression(JDOQLQueryCompiler.java:659)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileAndExpression(JDOQLQueryCompiler.java:647)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileExclusiveOrExpression(JDOQLQueryCompiler.java:635)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileInclusiveOrExpression(JDOQLQueryCompiler.java:623)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileConditionalAndExpression(JDOQLQueryCompiler.java:611)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileConditionalOrExpression(JDOQLQueryCompiler.java:593)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileExpression(JDOQLQueryCompiler.java:570)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileExpressionFromString(JDOQLQueryCompiler.java:550)
at
org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileFilter(QueryCompiler.java:852)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.performCompile(JDOQLQueryCompiler.java:261)
at
org.datanucleus.store.rdbms.query.legacy.QueryCompiler.executionCompile(QueryCompiler.java:374)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compile(JDOQLQueryCompiler.java:225)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.compileInternal(JDOQLQuery.java:175)
at org.datanucleus.store.query.Query.executeQuery(Query.java:1628)
at
org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.executeQuery(JDOQLQuery.java:245)
at org.datanucleus.store.query.Query.executeWithArray(Query.java:1499)
at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:266)
at
org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:617)
at
org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:551)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$15.run(HiveMetaStore.java:924)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$15.run(HiveMetaStore.java:921)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:234)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:921)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:558)
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:515)
... 15 more

Re: java.lang.IllegalStateException when getTable

Posted by Florin Diaconeasa <fl...@gmail.com>.
Hi,

Where do you store the metadata? Inside an RDBMS, like MySQL?

I get this as well after a certain amount of time because hive tries to keep the same connection to mysql that it had 24h ago (we run the cluster once per day).

On Jul 22, 2011, at 5:55 PM, Hello World wrote:

> when I run hive sql "select * from user_info" with hive-jdbc(HiveServer) ,exception occur below.
> but I run the command "desc user_info" with cli,it's ok,no exception happen
> 
> if I restart the HiveServer, it gets well
> this exception often occur after hiveServer run days.
> is this a bug of datanucleus?
> 
> My hive version is 0.6.0
> 
> Exception:
> 
> 2011-07-22 21:05:52,874 ERROR exec.DDLTask (SessionState.java:printError(277)) - FAILED: Error in metadata: Unable to fetch table user_info
> org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table user_info
> at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:523)
> at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:475)
> at org.apache.hadoop.hive.ql.exec.DDLTask.dropTable(DDLTask.java:1838)
> at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:176)
> at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:107)
> at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:55)
> at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:633)
> at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:506)
> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:384)
> at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:115)
> at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.process(ThriftHive.java:378)
> at org.apache.hadoop.hive.service.ThriftHive$Processor.process(ThriftHive.java:366)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.IllegalStateException: Table object has not been been initialised : `TBLS`
> at org.datanucleus.store.rdbms.table.AbstractTable.assertIsInitialized(AbstractTable.java:625)
> at org.datanucleus.store.rdbms.table.ClassTable.getMemberMapping(ClassTable.java:2996)
> at org.datanucleus.store.mapped.expression.LogicSetExpression.newFieldExpression(LogicSetExpression.java:195)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileIdentifier(JDOQLQueryCompiler.java:953)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compilePrimary(JDOQLQueryCompiler.java:774)
> at org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileUnaryExpressionNotPlusMinus(QueryCompiler.java:1333)
> at org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileUnaryExpression(QueryCompiler.java:1314)
> at org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileMultiplicativeExpression(QueryCompiler.java:1267)
> at org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileAdditiveExpression(QueryCompiler.java:1244)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileRelationalExpression(JDOQLQueryCompiler.java:687)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileEqualityExpression(JDOQLQueryCompiler.java:659)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileAndExpression(JDOQLQueryCompiler.java:647)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileExclusiveOrExpression(JDOQLQueryCompiler.java:635)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileInclusiveOrExpression(JDOQLQueryCompiler.java:623)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileConditionalAndExpression(JDOQLQueryCompiler.java:611)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileConditionalOrExpression(JDOQLQueryCompiler.java:593)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileExpression(JDOQLQueryCompiler.java:570)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileExpressionFromString(JDOQLQueryCompiler.java:550)
> at org.datanucleus.store.rdbms.query.legacy.QueryCompiler.compileFilter(QueryCompiler.java:852)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.performCompile(JDOQLQueryCompiler.java:261)
> at org.datanucleus.store.rdbms.query.legacy.QueryCompiler.executionCompile(QueryCompiler.java:374)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compile(JDOQLQueryCompiler.java:225)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.compileInternal(JDOQLQuery.java:175)
> at org.datanucleus.store.query.Query.executeQuery(Query.java:1628)
> at org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.executeQuery(JDOQLQuery.java:245)
> at org.datanucleus.store.query.Query.executeWithArray(Query.java:1499)
> at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:266)
> at org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:617)
> at org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:551)
> at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$15.run(HiveMetaStore.java:924)
> at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$15.run(HiveMetaStore.java:921)
> at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:234)
> at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:921)
> at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:558)
> at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:515)
> ... 15 more