[ https://issues.apache.org/jira/browse/HIVE-15999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15877617#comment-15877617 ]
Wei Zheng commented on HIVE-15999: ---------------------------------- I cannot find a good answer. As we discussed, this might be a derby bug. One thing I noticed that is different for TestDbTxnManager2 from other tests is that, all other tests call "TxnDbUtil.setConfValues(conf);" before calling "TxnDbUtil.prepDb();", but TestDbTxnManager2 only calls "TxnDbUtil.setConfValues(conf);" once in a @BeforeClass method. By changing the @BeforeClass method into constructor, it's guaranteed to be run for every UT, which is consistent to all other tests. I ran the ptest several times, and didn't see such failure anymore with the fix. > Fix flakiness in TestDbTxnManager2 > ---------------------------------- > > Key: HIVE-15999 > URL: https://issues.apache.org/jira/browse/HIVE-15999 > Project: Hive > Issue Type: Bug > Components: Transactions > Affects Versions: 2.2.0 > Reporter: Wei Zheng > Assignee: Wei Zheng > Attachments: HIVE-15999.1.patch > > > Right now there is test flakiness wrt. TestDbTxnManager2. The error is like > this: > {code} > java.sql.SQLException: Table/View 'TXNS' already exists in Schema 'APP'. > 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.EmbedStatement.execute(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) > at > org.apache.hadoop.hive.metastore.txn.TxnDbUtil.prepDb(TxnDbUtil.java:75) > at > org.apache.hadoop.hive.ql.lockmgr.TestDbTxnManager2.setUp(TestDbTxnManager2.java:90) > {code} > The failure is due to HiveConf used in the test being polluted by some test, > e.g. in testDummyTxnManagerOnAcidTable(), conf entry HIVE_TXN_MANAGER is set > to "org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager" but not switched back. -- This message was sent by Atlassian JIRA (v6.3.15#6346)