Hi all, We are using mysql as hive metastore db. The hive.log prints lots of exceptions *Table 'default.DELETEMEXXXXXXXXXXX' doesn't exist* every day.
We used to ignore that exception, untill yesterday it caused a 'Unable to fetch table' error and made a query failed. The exception stack is shown below. Such DELETEMEXXXXXXXXXXX tables are used by datanucleus internally. My question is what caused the exception and how to avoid it. Thanks in advance. ------------------------------------ 2010-07-26 04:23:23,187 ERROR parse.SemanticAnalyzer (SemanticAnalyzer.java:getMetaData(802)) - org.apache.hadoop.hive.ql.parse.SemanticException: Unable to fetch table dm_fact_buyer_prd_info_d at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:803) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:720) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:754) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:4453) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:81) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:258) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:290) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:163) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:221) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:335) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:165) at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68) Caused by: org.apache.hadoop.hive.ql.parse.SemanticException: Unable to fetch table dm_fact_buyer_prd_info_d at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:803) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:720) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:754) ... 18 more Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table dm_fact_buyer_prd_info_d at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:876) at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:847) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:738) ... 20 more Caused by: javax.jdo.JDODataStoreException: Exception thrown obtaining schema column information from datastore NestedThrowables: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'default.DELETEME1280089402957' doesn't exist at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:289) at org.datanucleus.ObjectManagerImpl.getExtent(ObjectManagerImpl.java:3741) at org.datanucleus.store.rdbms.query.JDOQLQueryCompiler.compileCandidates(JDOQLQueryCompiler.java:411) at org.datanucleus.store.rdbms.query.QueryCompiler.executionCompile(QueryCompiler.java:312) at org.datanucleus.store.rdbms.query.JDOQLQueryCompiler.compile(JDOQLQueryCompiler.java:225) at org.datanucleus.store.rdbms.query.JDOQLQuery.compileInternal(JDOQLQuery.java:174) at org.datanucleus.store.query.Query.executeQuery(Query.java:1443) at org.datanucleus.store.rdbms.query.JDOQLQuery.executeQuery(JDOQLQuery.java:244) at org.datanucleus.store.query.Query.executeWithArray(Query.java:1357) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:265) at org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:564) at org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:507) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:587) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:595) at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:868) ... 22 more Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'default.DELETEME1280089402957' doesn't exist at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232) at com.mysql.jdbc.DatabaseMetaData$2.forEach(DatabaseMetaData.java:2390) at com.mysql.jdbc.DatabaseMetaData$IterateBlock.doForAll(DatabaseMetaData.java:76) at com.mysql.jdbc.DatabaseMetaData.getColumns(DatabaseMetaData.java:2264) at org.datanucleus.store.rdbms.adapter.DatabaseAdapter.getColumns(DatabaseAdapter.java:1536) at org.datanucleus.store.rdbms.schema.RDBMSSchemaHandler.refreshTableData(RDBMSSchemaHandler.java:924) at org.datanucleus.store.rdbms.schema.RDBMSSchemaHandler.getRDBMSTableInfoForTable(RDBMSSchemaHandler.java:823) at org.datanucleus.store.rdbms.schema.RDBMSSchemaHandler.getRDBMSTableInfoForTable(RDBMSSchemaHandler.java:772) at org.datanucleus.store.rdbms.schema.RDBMSSchemaHandler.getSchemaData(RDBMSSchemaHandler.java:207) at org.datanucleus.store.rdbms.RDBMSManager.getColumnInfoForTable(RDBMSManager.java:1799) at org.datanucleus.store.rdbms.table.TableImpl.validateColumns(TableImpl.java:216) at org.datanucleus.store.rdbms.RDBMSManager$ClassAdder.performTablesValidation(RDBMSManager.java:2794) at org.datanucleus.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(RDBMSManager.java:2595) at org.datanucleus.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2241) at org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:113) at org.datanucleus.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:994) at org.datanucleus.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:960) at org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:691) at org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:358) at org.datanucleus.store.rdbms.RDBMSManager.getExtent(RDBMSManager.java:1344) at org.datanucleus.ObjectManagerImpl.getExtent(ObjectManagerImpl.java:3736) ... 35 more -- Best Regards, Ted Xu
