Derby
  1. Derby
  2. DERBY-6122

InterruptResilienceTest fails with: junit.framework.ComparisonFailure: Database shutdown expected:<[08006]> but was:<[XBDA0]>

    Details

    • Bug behavior facts:
      Regression Test Failure

      Description

      During the test run with the 10.10.1.1 (RC2, i.e. build at revision 1458268) candidate I saw the following failure:

      2) testInterruptShutdown(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)junit.framework.ComparisonFailure: Database shutdown expected:<[08006]> but was:<[XBDA0]>
      at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:853)
      at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1801)
      at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testInterruptShutdown(InterruptResilienceTest.java:661)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
      at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424)
      at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      Caused by: java.sql.SQLException: Login timeout exceeded.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
      at org.apache.derby.jdbc.Driver20.timeLogin(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
      at org.apache.derby.jdbc.Driver20.connect(Unknown Source)
      at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
      at java.sql.DriverManager.getConnection(DriverManager.java:572)
      at java.sql.DriverManager.getConnection(DriverManager.java:165)
      at org.apache.derbyTesting.junit.DriverManagerConnector.getConnectionByAttributes(DriverManagerConnector.java:204)
      at org.apache.derbyTesting.junit.DriverManagerConnector.shutDatabase(DriverManagerConnector.java:157)
      at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1798)
      ... 40 more

      This is after a failure with AutoLoadTest, not sure if that matters...

      The test output also showed this:
      (emb)store.InterruptResilienceTest.testInterruptBatch used 797 ms .
      (emb)store.InterruptResilienceTest.testInterruptShutdown java.io.FileNotFoundException: system\singleUse\oneusef1\tmp (The system cannot find the file specified.)
      at java.io.FileInputStream.open(Native Method)
      at java.io.FileInputStream.<init>(FileInputStream.java:135)
      at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copySingleFile(PrivilegedFileOpsForTests.java:304)
      at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.recursiveCopy(PrivilegedFileOpsForTests.java:276)
      at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.access$000(PrivilegedFileOpsForTests.java:49)
      at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$8.run(PrivilegedFileOpsForTests.java:235)
      at java.security.AccessController.doPrivileged(AccessController.java:241)
      at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copy(PrivilegedFileOpsForTests.java:233)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:141)
      at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424)
      at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441)
      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:120)
      at junit.framework.TestSuite.runTest(TestSuite.java:230)
      at junit.framework.TestSuite.run(TestSuite.java:225)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      at junit.framework.TestSuite.runTest(TestSuite.java:230)
      at junit.framework.TestSuite.run(TestSuite.java:225)
      at junit.framework.TestSuite.runTest(TestSuite.java:230)
      at junit.framework.TestSuite.run(TestSuite.java:225)
      at junit.framework.TestSuite.runTest(TestSuite.java:230)
      at junit.framework.TestSuite.run(TestSuite.java:225)
      at junit.framework.TestSuite.runTest(TestSuite.java:230)
      at junit.framework.TestSuite.run(TestSuite.java:225)
      at junit.textui.TestRunner.doRun(TestRunner.java:121)
      at junit.textui.TestRunner.start(TestRunner.java:185)
      at junit.textui.TestRunner.main(TestRunner.java:143)
      used 11953 ms F.
      (emb)store.InterruptResilienceTest.testCreateDropInterrupted used 2250 ms E.
      (net)store.InterruptResilienceTest.testRAFWriteInterrupted used 44094 ms .

        Issue Links

          Activity

          Hide
          Dag H. Wanvik added a comment -

          Looks the connect to shut down timed out in the new login timeout code. But the test hasn't set any timeouts unless
          you changed it globally for testing purposes - or it hasn't been cleared by a previous test that sets it? At least from analyzing the stack trace we know the code thinks a timeout is applicable here....

          Show
          Dag H. Wanvik added a comment - Looks the connect to shut down timed out in the new login timeout code. But the test hasn't set any timeouts unless you changed it globally for testing purposes - or it hasn't been cleared by a previous test that sets it? At least from analyzing the stack trace we know the code thinks a timeout is applicable here....
          Hide
          Knut Anders Hatlen added a comment -

          InterruptResilienceTest sets the login timeout to 10 seconds in setUp() - after DERBY-6094. Maybe it needs to be higher to account for the possibility that the tests run on slower machines?

          Show
          Knut Anders Hatlen added a comment - InterruptResilienceTest sets the login timeout to 10 seconds in setUp() - after DERBY-6094 . Maybe it needs to be higher to account for the possibility that the tests run on slower machines?
          Hide
          Mike Matrigali added a comment -

          nightly tests failed with this error on trunk ibm17 windows:
          http://people.apache.org/~myrnavl/derby_test_results/main/windows/testlog/ibm17/1463347-suites.All_diff.txt
          There was 1 error:
          1) testCreateDropInterrupted(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)java.sql.SQLException: Table/View 'T1' 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.executeLargeUpdate(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
          at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.setUp(InterruptResilienceTest.java:129)
          at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          Caused by: java.sql.SQLException: Table/View 'T1' already exists in Schema 'APP'.
          at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
          ... 45 more
          Caused by: ERROR X0Y32: Table/View 'T1' already exists in Schema 'APP'.
          at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
          at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.duplicateDescriptorException(Unknown Source)
          at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(Unknown Source)
          at org.apache.derby.impl.sql.execute.CreateTableConstantAction.executeConstantAction(Unknown Source)
          at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
          ... 39 more
          There was 1 failure:
          1) testInterruptShutdown(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)junit.framework.ComparisonFailure: Database shutdown expected:<[08006]> but was:<[XBDA0]>
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:853)
          at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1801)
          at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testInterruptShutdown(InterruptResilienceTest.java:661)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
          at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          Caused by: java.sql.SQLTimeoutException: Login timeout exceeded.
          at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
          at org.apache.derby.jdbc.Driver20.timeLogin(Unknown Source)
          at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
          at org.apache.derby.jdbc.Driver20.connect(Unknown Source)
          at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
          at java.sql.DriverManager.getConnection(DriverManager.java:590)
          at java.sql.DriverManager.getConnection(DriverManager.java:201)
          at org.apache.derbyTesting.junit.DriverManagerConnector.getConnectionByAttributes(DriverManagerConnector.java:204)
          at org.apache.derbyTesting.junit.DriverManagerConnector.shutDatabase(DriverManagerConnector.java:157)
          at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1798)
          ... 40 more
          Caused by: java.sql.SQLException: Login timeout exceeded.
          at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
          ... 53 more

          FAILURES!!!
          Tests run: 17275, Failures: 1, Errors: 1

          Show
          Mike Matrigali added a comment - nightly tests failed with this error on trunk ibm17 windows: http://people.apache.org/~myrnavl/derby_test_results/main/windows/testlog/ibm17/1463347-suites.All_diff.txt There was 1 error: 1) testCreateDropInterrupted(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)java.sql.SQLException: Table/View 'T1' 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.executeLargeUpdate(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source) at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.setUp(InterruptResilienceTest.java:129) at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) Caused by: java.sql.SQLException: Table/View 'T1' already exists in Schema 'APP'. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) ... 45 more Caused by: ERROR X0Y32: Table/View 'T1' already exists in Schema 'APP'. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.duplicateDescriptorException(Unknown Source) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(Unknown Source) at org.apache.derby.impl.sql.execute.CreateTableConstantAction.executeConstantAction(Unknown Source) at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) ... 39 more There was 1 failure: 1) testInterruptShutdown(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)junit.framework.ComparisonFailure: Database shutdown expected:< [08006] > but was:< [XBDA0] > at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:853) at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1801) at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testInterruptShutdown(InterruptResilienceTest.java:661) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) Caused by: java.sql.SQLTimeoutException: Login timeout exceeded. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.jdbc.Driver20.timeLogin(Unknown Source) at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source) at org.apache.derby.jdbc.Driver20.connect(Unknown Source) at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:590) at java.sql.DriverManager.getConnection(DriverManager.java:201) at org.apache.derbyTesting.junit.DriverManagerConnector.getConnectionByAttributes(DriverManagerConnector.java:204) at org.apache.derbyTesting.junit.DriverManagerConnector.shutDatabase(DriverManagerConnector.java:157) at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1798) ... 40 more Caused by: java.sql.SQLException: Login timeout exceeded. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) ... 53 more FAILURES!!! Tests run: 17275, Failures: 1, Errors: 1
          Hide
          Mike Matrigali added a comment -

          another occurence against candidate branch, windows ibm15
          http://people.apache.org/~myrnavl/derby_test_results/v10_10/windows/testlog/ibm15/1462870-suites.All_diff.txt
          There was 1 error:
          1) testCreateDropInterrupted(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)java.sql.SQLException: Table/View 'T1' already exists in Schema 'APP'.
          at org.apache.derby.impl.jdbc.SQLExceptionFactory.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.executeLargeUpdate(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
          at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.setUp(InterruptResilienceTest.java:129)
          at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          Caused by: ERROR X0Y32: Table/View 'T1' already exists in Schema 'APP'.
          at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
          at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.duplicateDescriptorException(Unknown Source)
          at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(Unknown Source)
          at org.apache.derby.impl.sql.execute.CreateTableConstantAction.executeConstantAction(Unknown Source)
          at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
          ... 39 more
          There was 1 failure:
          1) testInterruptShutdown(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)junit.framework.ComparisonFailure: Database shutdown expected:<[08006]> but was:<[XBDA0]>
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:853)
          at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1801)
          at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testInterruptShutdown(InterruptResilienceTest.java:661)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424)
          at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          Caused by: java.sql.SQLException: Login timeout exceeded.
          at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
          at org.apache.derby.jdbc.Driver20.timeLogin(Unknown Source)
          at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
          at org.apache.derby.jdbc.Driver20.connect(Unknown Source)
          at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
          at java.sql.DriverManager.getConnection(DriverManager.java:572)
          at java.sql.DriverManager.getConnection(DriverManager.java:165)
          at org.apache.derbyTesting.junit.DriverManagerConnector.getConnectionByAttributes(DriverManagerConnector.java:204)
          at org.apache.derbyTesting.junit.DriverManagerConnector.shutDatabase(DriverManagerConnector.java:157)
          at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1798)
          ... 40 more

          FAILURES!!!
          Tests run: 15048, Failures: 1, Errors: 1

          Show
          Mike Matrigali added a comment - another occurence against candidate branch, windows ibm15 http://people.apache.org/~myrnavl/derby_test_results/v10_10/windows/testlog/ibm15/1462870-suites.All_diff.txt There was 1 error: 1) testCreateDropInterrupted(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)java.sql.SQLException: Table/View 'T1' already exists in Schema 'APP'. at org.apache.derby.impl.jdbc.SQLExceptionFactory.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.executeLargeUpdate(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source) at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.setUp(InterruptResilienceTest.java:129) at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) Caused by: ERROR X0Y32: Table/View 'T1' already exists in Schema 'APP'. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.duplicateDescriptorException(Unknown Source) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addDescriptor(Unknown Source) at org.apache.derby.impl.sql.execute.CreateTableConstantAction.executeConstantAction(Unknown Source) at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) ... 39 more There was 1 failure: 1) testInterruptShutdown(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)junit.framework.ComparisonFailure: Database shutdown expected:< [08006] > but was:< [XBDA0] > at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:853) at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1801) at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testInterruptShutdown(InterruptResilienceTest.java:661) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424) at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) Caused by: java.sql.SQLException: Login timeout exceeded. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.jdbc.Driver20.timeLogin(Unknown Source) at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source) at org.apache.derby.jdbc.Driver20.connect(Unknown Source) at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:572) at java.sql.DriverManager.getConnection(DriverManager.java:165) at org.apache.derbyTesting.junit.DriverManagerConnector.getConnectionByAttributes(DriverManagerConnector.java:204) at org.apache.derbyTesting.junit.DriverManagerConnector.shutDatabase(DriverManagerConnector.java:157) at org.apache.derbyTesting.junit.TestConfiguration.shutdownDatabase(TestConfiguration.java:1798) ... 40 more FAILURES!!! Tests run: 15048, Failures: 1, Errors: 1
          Hide
          Dag H. Wanvik added a comment -

          Did anyone try to run the failing tests with a longer timeout to see if that fixes the problem, as Knut suggested?

          Show
          Dag H. Wanvik added a comment - Did anyone try to run the failing tests with a longer timeout to see if that fixes the problem, as Knut suggested?
          Hide
          Knut Anders Hatlen added a comment -

          Login timeout is a new feature in 10.10, so presumably this bug shouldn't have the regression flag?

          Show
          Knut Anders Hatlen added a comment - Login timeout is a new feature in 10.10, so presumably this bug shouldn't have the regression flag?
          Hide
          Mike Matrigali added a comment -

          I didn't really try to figure out why the test was failing. At first glance this is a nightly regression test that is failing in 10.10/trunk and not failing
          in prior releases so marked it a regression. You are probably right, but until proved I wanted to move looking at this up in priority as it is a
          possible regression until we fix it.

          I will look at this one next, first see how often I can reproduce and see if changing the timeout helps.

          Show
          Mike Matrigali added a comment - I didn't really try to figure out why the test was failing. At first glance this is a nightly regression test that is failing in 10.10/trunk and not failing in prior releases so marked it a regression. You are probably right, but until proved I wanted to move looking at this up in priority as it is a possible regression until we fix it. I will look at this one next, first see how often I can reproduce and see if changing the timeout helps.
          Hide
          Mike Matrigali added a comment -

          before making the change I was hoping to get it to reproduce on my laptop. It did not fail in100 runs against windows7, sane, ibm17:
          s1_ibm17:3>java -version
          java version "1.7.0"
          Java(TM) SE Runtime Environment (build pwi3270sr3-20121025_01(SR3))
          IBM J9 VM (build 2.6, JRE 1.7.0 Windows 7 x86-32 20121024_126071 (JIT enabled, AOT enabled)
          J9VM - R26_Java726_SR3_20121024_1635_B126071
          JIT - r11.b02_20120924_26343a
          GC - R26_Java726_SR3_20121024_1635_B126071
          J9CL - 20121024_126071)
          JCL - 20121019_01 based on Oracle 7u6-b17

          Show
          Mike Matrigali added a comment - before making the change I was hoping to get it to reproduce on my laptop. It did not fail in100 runs against windows7, sane, ibm17: s1_ibm17:3>java -version java version "1.7.0" Java(TM) SE Runtime Environment (build pwi3270sr3-20121025_01(SR3)) IBM J9 VM (build 2.6, JRE 1.7.0 Windows 7 x86-32 20121024_126071 (JIT enabled, AOT enabled) J9VM - R26_Java726_SR3_20121024_1635_B126071 JIT - r11.b02_20120924_26343a GC - R26_Java726_SR3_20121024_1635_B126071 J9CL - 20121024_126071) JCL - 20121019_01 based on Oracle 7u6-b17
          Hide
          Mike Matrigali added a comment -

          In looking at the test the only difference between 10.9 and trunk is:
          s10_9_ibm16:7>diff InterruptResilienceTest.java /tmp
          136a137,140
          >
          > // test that we recover from login timeouts
          > DriverManager.setLoginTimeout( 10 );
          >
          144a149,150
          >
          > DriverManager.setLoginTimeout( 0 );

          Can anyone explain what is expected of the test after this change. I was expecting some changes maybe to catch a login timeout, or
          a test case that did something to purposely causing a timeout. I can go ahead and bump the timeout but I am not seeing what value
          the changes have other than maybe making sure you can call the routine.

          Show
          Mike Matrigali added a comment - In looking at the test the only difference between 10.9 and trunk is: s10_9_ibm16:7>diff InterruptResilienceTest.java /tmp 136a137,140 > > // test that we recover from login timeouts > DriverManager.setLoginTimeout( 10 ); > 144a149,150 > > DriverManager.setLoginTimeout( 0 ); Can anyone explain what is expected of the test after this change. I was expecting some changes maybe to catch a login timeout, or a test case that did something to purposely causing a timeout. I can go ahead and bump the timeout but I am not seeing what value the changes have other than maybe making sure you can call the routine.
          Hide
          Mike Matrigali added a comment - - edited

          setLoginTimeout code was added to this test by change #1455230, DERBY-6094.
          After reading through the comments in DERBY-6094, I think the intent of the change is to set
          the timeout high enough such that it is never reached. This will still make the code go through
          a code path different then if no timeout was set. So will proceed on upping the timeout.

          Still would be nice if others could comment if the test results logged are what would have
          been expected if we encountered a timeout. I don't want to hide a bug if there is one. The comments
          say "test that we recover from login timeouts", and it looks like we did not in the cases reported. A better
          comment in this test would help.

          Show
          Mike Matrigali added a comment - - edited setLoginTimeout code was added to this test by change #1455230, DERBY-6094 . After reading through the comments in DERBY-6094 , I think the intent of the change is to set the timeout high enough such that it is never reached. This will still make the code go through a code path different then if no timeout was set. So will proceed on upping the timeout. Still would be nice if others could comment if the test results logged are what would have been expected if we encountered a timeout. I don't want to hide a bug if there is one. The comments say "test that we recover from login timeouts", and it looks like we did not in the cases reported. A better comment in this test would help.
          Hide
          Mike Matrigali added a comment -

          ran 100 times in top of 10.10 branch, sane, ibm17, windows 7 and did not fail once.

          Show
          Mike Matrigali added a comment - ran 100 times in top of 10.10 branch, sane, ibm17, windows 7 and did not fail once.
          Hide
          Rick Hillegas added a comment -

          Increasing the timeout is a good solution, I think. The login timeout was added by derby-6094-03-aa-retryOnInterrupt.diff. The point was to force the Derby tests to exercise a new block of code added to Driver20 to handle interrupts raised during login attempts. As InterruptResilienceTest runs, interrupts are supposed to happen--although it's hard to force the exact timing of the interrupts. The login timeout added to this test is only supposed to test the following case:

          1) An interrupt occurs within the time limit set by DriverManager.setLoginTimeout()

          2) The new code added to Driver20 fields the interrupt and continues attempting to log in.

          There are other tests (not in InterruptResilienceTest) which test what happens when the timeout expires without being interrupted. I think you are doing the right thing by raising the timeout high enough that it won't fail on any of the rigs in your test lab. Thanks.

          Show
          Rick Hillegas added a comment - Increasing the timeout is a good solution, I think. The login timeout was added by derby-6094-03-aa-retryOnInterrupt.diff. The point was to force the Derby tests to exercise a new block of code added to Driver20 to handle interrupts raised during login attempts. As InterruptResilienceTest runs, interrupts are supposed to happen--although it's hard to force the exact timing of the interrupts. The login timeout added to this test is only supposed to test the following case: 1) An interrupt occurs within the time limit set by DriverManager.setLoginTimeout() 2) The new code added to Driver20 fields the interrupt and continues attempting to log in. There are other tests (not in InterruptResilienceTest) which test what happens when the timeout expires without being interrupted. I think you are doing the right thing by raising the timeout high enough that it won't fail on any of the rigs in your test lab. Thanks.
          Hide
          Mike Matrigali added a comment -

          committed to trunk:
          ------------------------------------------------------------------------

          r1466225 | mikem | 2013-04-09 13:48:16 -0700 (Tue, 09 Apr 2013) | 11 lines

          DERBY-6122 - InterruptResilienceTest fails with: junit.framework.ComparisonFailure: Database shutdown expected:<[08006]> but was:<[XBDA0]>

          The core problem that led to this assert was that an attempt by the
          test to shutdown the database timed out with:
          Caused by: java.sql.SQLException: Login timeout exceeded.

          The test had set a 10 second timeout assuming that was large enough such that
          no timeout would be encountered, but failed a few times in public IBM lab
          nightly regression runs. Raising the number to 1000.

          Show
          Mike Matrigali added a comment - committed to trunk: ------------------------------------------------------------------------ r1466225 | mikem | 2013-04-09 13:48:16 -0700 (Tue, 09 Apr 2013) | 11 lines DERBY-6122 - InterruptResilienceTest fails with: junit.framework.ComparisonFailure: Database shutdown expected:< [08006] > but was:< [XBDA0] > The core problem that led to this assert was that an attempt by the test to shutdown the database timed out with: Caused by: java.sql.SQLException: Login timeout exceeded. The test had set a 10 second timeout assuming that was large enough such that no timeout would be encountered, but failed a few times in public IBM lab nightly regression runs. Raising the number to 1000.
          Hide
          Mike Matrigali added a comment -

          no need to backport this one any more as the login timeout feature is new to 10.10.

          committed fix to 10.10 branch:
          s10_10_ibm16:5>svn commit
          Sending .
          Sending java\testing\org\apache\derbyTesting\functionTests\tests\store\InterruptResilienceTest.java
          Transmitting file data .
          Committed revision 1466635.

          Show
          Mike Matrigali added a comment - no need to backport this one any more as the login timeout feature is new to 10.10. committed fix to 10.10 branch: s10_10_ibm16:5>svn commit Sending . Sending java\testing\org\apache\derbyTesting\functionTests\tests\store\InterruptResilienceTest.java Transmitting file data . Committed revision 1466635.
          Hide
          Mike Matrigali added a comment -

          I was not able to reproduce this one, so fix is by code inspection. Closing it for now, but if
          it shows up again in a nightly run, just go ahead and reopen it.

          Show
          Mike Matrigali added a comment - I was not able to reproduce this one, so fix is by code inspection. Closing it for now, but if it shows up again in a nightly run, just go ahead and reopen it.
          Hide
          Myrna van Lunteren added a comment -

          closing all resolved issues reported by me.

          Show
          Myrna van Lunteren added a comment - closing all resolved issues reported by me.

            People

            • Assignee:
              Mike Matrigali
              Reporter:
              Myrna van Lunteren
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development