hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashish Thusoo (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HIVE-84) MetaStore Client is not thread safe
Date Mon, 05 Jan 2009 15:21:44 GMT

    [ https://issues.apache.org/jira/browse/HIVE-84?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12660785#action_12660785
] 

Ashish Thusoo commented on HIVE-84:
-----------------------------------

Do you still need the needsRefresh code in SessionState.java

Also why just check for the refresh stuff only for MetaVars and why not do it for all the
vars? Why the special case?


> 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.2.0
>         Environment: with patch for hive-77 - run:
> ant -lib ./testlibs -Dtestcase=TestMTQueries test
>            Reporter: Joydeep Sen Sarma
>            Assignee: Prasad Chakka
>             Fix For: 0.2.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.MTable@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.


Mime
View raw message