Hi everybody, I hope you'll be able to help me understand why our Hive server occasionally starts throwing "HiveException: Unable to fetch table <same table name>" and subsequently noe JDBC calls get through.
I have observed this mostly after having started the server so I guess there could be some timing issue in Hive initialization. Most of the time Hive works all right so there no defect in our configuration/infrastructure per se. Any idea how this could have been happening and how to prevent/fix it? We use Hive 0.9.0 and connect to it via JDBC over Thrift. When I restart Hive, the problem disappears. Thanks a lot! Here is the full log with some context around: 2013-02-08 09:28:43,943 WARN mapred.JobClient (JobClient.java:copyAndConfigureFiles(667)) - Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same. 2013-02-08 09:28:53,399 ERROR ql.Driver (SessionState.java:printError(400)) - FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask 2013-02-08 09:29:36,774 ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.resources" but it cannot be resolved. 2013-02-08 09:29:36,774 ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.resources" but it cannot be resolved. 2013-02-08 09:29:36,777 ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.runtime" but it cannot be resolved. 2013-02-08 09:29:36,777 ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.runtime" but it cannot be resolved. 2013-02-08 09:29:36,777 ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.text" but it cannot be resolved. 2013-02-08 09:29:36,777 ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires "org.eclipse.text" but it cannot be resolved. 2013-02-08 09:29:51,997 ERROR parse.SemanticAnalyzer (SemanticAnalyzer.java:getMetaData(1128)) - org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table playerevents at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:896) at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:830) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:954) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:7524) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:243) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:431) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:336) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:909) at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:191) at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:629) at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:617) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:176) 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:662) Caused by: javax.jdo.JDOException: Attempt to instantiate insert request gave an error NestedThrowables: java.lang.reflect.InvocationTargetException at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:434) at org.datanucleus.jdo.JDOPersistenceManager.jdoRetrieve(JDOPersistenceManager.java:539) at org.datanucleus.jdo.JDOPersistenceManager.retrieve(JDOPersistenceManager.java:551) at org.datanucleus.jdo.JDOPersistenceManager.retrieve(JDOPersistenceManager.java:560) at org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:800) at org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:733) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.hive.metastore.RetryingRawStore.invoke(RetryingRawStore.java:111) at $Proxy0.getTable(Unknown Source) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:974) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:735) at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:888) ... 16 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:588) at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:324) at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.getFetchRequest(RDBMSPersistenceHandler.java:267) at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.fetchObject(RDBMSPersistenceHandler.java:239) at org.datanucleus.jdo.state.JDOStateManagerImpl.loadFieldsFromDatastore(JDOStateManagerImpl.java:1929) at org.datanucleus.jdo.state.JDOStateManagerImpl.loadUnloadedFields(JDOStateManagerImpl.java:1597) at org.datanucleus.jdo.state.Hollow.transitionRetrieve(Hollow.java:168) at org.datanucleus.state.AbstractStateManager.retrieve(AbstractStateManager.java:470) at org.datanucleus.ObjectManagerImpl.retrieveObject(ObjectManagerImpl.java:1131) at org.datanucleus.jdo.JDOPersistenceManager.jdoRetrieve(JDOPersistenceManager.java:534) ... 28 more Caused by: java.lang.IllegalStateException: Table object has not been been initialised : `SDS` at org.datanucleus.store.rdbms.table.AbstractTable.assertIsInitialized(AbstractTable.java:625) at org.datanucleus.store.rdbms.table.ClassTable.getMemberMapping(ClassTable.java:2904) at org.datanucleus.store.rdbms.sql.SQLStatementHelper.selectMemberOfSourceInStatement(SQLStatementHelper.java:512) at org.datanucleus.store.rdbms.sql.SQLStatementHelper.selectFetchPlanOfSourceClassInStatement(SQLStatementHelper.java:441) at org.datanucleus.store.rdbms.sql.SQLStatementHelper.selectMemberOfSourceInStatement(SQLStatementHelper.java:567) at org.datanucleus.store.rdbms.request.FetchRequest.processMembersOfClass(FetchRequest.java:468) at org.datanucleus.store.rdbms.request.FetchRequest.<init>(FetchRequest.java:166) ... 42 more 2013-02-08 09:29:52,016 ERROR ql.Driver (SessionState.java:printError(400)) - FAILED: Error in semantic analysis: Unable to fetch table playerevents org.apache.hadoop.hive.ql.parse.SemanticException: Unable to fetch table playerevents -- *A world without pair-programming is a sad, lonely place.* * (Vær så snill og hjelp meg med å korrigere min norsk, skriftlig og muntlig. Takk!)* Jakub Holy Solutions Engineer | +47 966 23 666 Iterate AS | www.iterate.no The Lean Software Development Consultancy - http://theholyjava.wordpress.com/ -