hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wei Zheng (JIRA)" <>
Subject [jira] [Commented] (HIVE-15999) Fix flakiness in TestDbTxnManager2
Date Wed, 22 Feb 2017 06:59:44 GMT


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:
>             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(
> 	at org.apache.hadoop.hive.ql.lockmgr.TestDbTxnManager2.setUp(
> {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

View raw message