Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5919

Network Server connection gets destroyed after isValid(#) times out.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 10.9.1.0
    • None
    • Network Server
    • Normal
    • High Value Fix, Newcomer, Repro attached
    • Crash, Embedded/Client difference

    Description

      When a call to Connection.isValid(timoutvalue) actually times out, the connection is destroyed.

      For instance, the following test snippet:

      // Test with a large timeout, see DERBY-5912.
      boolean convalid=true;
      Connection conn=getConnection();

      // with a longer time out, the isValid call should not
      // time out when the sleep is shorter.
      convalid=conn.isValid(200);
      assertTrue(convalid);

      // setting the timeout to 1 should timeout if the sleep
      // is 2 seconds.
      convalid=conn.isValid(1);
      assertFalse(convalid);

      conn.rollback();

      Results in an assertion on the rollback:

      java.sql.SQLNonTransientConnectionException: No current connection.
      at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
      at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:364)
      at org.apache.derby.client.am.Connection.rollback(Connection.java:668)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ConnectionTest.testIsValidWithTimeout(ConnectionTest.java:214)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:611)
      at junit.framework.TestCase.runTest(TestCase.java:164)
      at junit.framework.TestCase.runBare(TestCase.java:130)
      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.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.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.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)
      Caused by: org.apache.derby.client.am.SqlException: No current connection.
      at org.apache.derby.client.am.Connection.checkForClosedConnection(Connection.java:2303)
      at org.apache.derby.client.am.Connection.rollback(Connection.java:661)
      ... 32 more

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              myrna Myrna van Lunteren
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: