[ https://issues.apache.org/jira/browse/HIVE-84?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carl Steinbach updated HIVE-84: ------------------------------- Fix Version/s: 0.3.0 (was: 0.6.0) > MetaStore Client is not thread safe > ----------------------------------- > > Key: HIVE-84 > URL: https://issues.apache.org/jira/browse/HIVE-84 > Project: Hadoop Hive > Issue Type: Bug > Components: Metastore > Affects Versions: 0.6.0 > Environment: with patch for hive-77 - run: > ant -lib ./testlibs -Dtestcase=TestMTQueries test > Reporter: Joydeep Sen Sarma > Assignee: Prasad Chakka > Fix For: 0.3.0 > > Attachments: hive-84.patch > > > when running DDL Tasks in concurrent threads - the following exception trace > is observed: > java.sql.SQLIntegrityConstraintViolationException: The statement was aborted > because it would have caused a duplicate ke\ y value in a unique or primary > key constraint or unique index identified by 'UNIQUETABLE' defined on 'TBLS'. > at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:207) > at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:209) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:174) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:185) > at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:210) > at org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:390) > at org.apache.hadoop.hive.ql.QTestUtil$QTRunner.run(QTestUtil.java:681) > at java.lang.Thread.run(Thread.java:619) > Caused by: javax.jdo.JDODataStoreException: Insert of object > "org.apache.hadoop.hive.metastore.model.mta...@3bc8d400" us\ ing statement > "INSERT INTO TBLS > (TBL_ID,CREATE_TIME,DB_ID,RETENTION,TBL_NAME,SD_ID,OWNER,LAST_ACCESS_TIME) > VALUES (?,?,?\ ,?,?,?,?,?)" failed : The statement was aborted because it > would have caused a duplicate key value in a unique or primar\ y key > constraint or unique index identified by 'UNIQUETABLE' defined on 'TBLS'. > NestedThrowables: > java.sql.SQLIntegrityConstraintViolationException: The statement was aborted > because it would have caused a duplicate ke\ y value in a unique or primary > key constraint or unique index identified by 'UNIQUETABLE' defined on 'TBLS'. > at > org.jpox.jdo.JPOXJDOHelper.getJDOExceptionForJPOXException(JPOXJDOHelper.java:291) > at > org.jpox.jdo.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenceManager.java:671) > at > org.jpox.jdo.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:691) > at > org.apache.hadoop.hive.metastore.ObjectStore.createTable(ObjectStore.java:479) > at > org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.create_table(HiveMetaStore.java:292) > at > org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:252) > at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:205) > ... 7 more > Caused by: java.sql.SQLIntegrityConstraintViolationException: The statement > was aborted because it would have caused a d\ uplicate key value in a unique > or primary key constraint or unique index identified by 'UNIQUETABLE' defined > on 'TBLS'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown > Source) > at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown > Source) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown > Source) > at > org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown > Source) > at > org.jpox.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:396) > at > org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:370) > at > org.jpox.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:157) > at > org.jpox.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:136) > at > org.jpox.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:3082) > at > org.jpox.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:3062) > at > org.jpox.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1231) > at org.jpox.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1077) > at > org.jpox.jdo.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenceManager.java:666) > ... 12 more > Caused by: java.sql.SQLException: The statement was aborted because it would > have caused a duplicate key value in a uniq\ ue or primary key constraint or > unique index identified by 'UNIQUETABLE' defined on 'TBLS'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown > Source) > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown > Source) > ... 30 more > Caused by: ERROR 23505: The statement was aborted because it would have > caused a duplicate key value in a unique or prim\ ary key constraint or > unique index identified by 'UNIQUETABLE' defined on 'TBLS'. > at org.apache.derby.iapi.error.StandardException.newException(Unknown > Source) > at > org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown > Source) > at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown Source) > at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source) > at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown Source) > at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown > Source) > at > org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown > Source) > at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source) > when running normal select queries as well - one hits exception, stack trace: > 2008-11-27 01:54:00,216 ERROR metadata.Hive (Hive.java:getTable(275)) - > NoSuchObjectException(message:default.dummySrc t\ > able not found) > at > org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:347) > at > org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:433) > at > org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:472) > at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:272) > at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:254) > at > org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:544) > at > org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:3192) > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:73) > at org.apache.hadoop.hive.ql.QTestUtil.analyzeAST(QTestUtil.java:672) > at > org.apache.hadoop.hive.ql.parse.TestParseNegative.testParseNegative_unknown_table1(TestParseNegative.java:231) > 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 junit.framework.TestCase.runTest(TestCase.java:154) > at junit.framework.TestCase.runBare(TestCase.java:127) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:672) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:567) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.