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

ERROR 40001 deadlock in nstest on select max(serialkey)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.7.1.1, 10.8.2.2
    • 10.8.3.0, 10.9.1.0
    • Test
    • None
    • Regression Test Failure

    Description

      nstest with 10.8.2 (both 10.8.2.1 RC2 (revision 1170221) and builds off the 10.8. tree at 10.8.2.2 level after backing out re DERBY-5448) show deadlock errors like the following:

      Caused by: ERROR 40001: A lock could not be obtained due to a deadlock, cycle of
      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.EmbedResultSet.closeOnTransactionError(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedResultSet.next(Unknown Source)
      at org.apache.derbyTesting.system.nstest.utils.DbUtil.pick_one(DbUtil.java:491)
      at org.apache.derbyTesting.system.nstest.utils.DbUtil.delete_one_row(DbUtil.java:418)
      at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:175)
      at org.apache.derbyTesting.system.nstest.tester.Tester2.startTesting(Tester2.java:109)
      at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:555)
      Caused by: java.sql.SQLException: A lock could not be obtained due to a deadlock, cycle of locks and waiters is:
      Lock : ROW, NSTESTTAB, (619,15)
      Waiting XID :

      {104564, S}

      , NSTEST, select max(serialkey) from nstesttab where serialkey > ?
      Granted XID :

      {104179, X}

      Lock : ROW, NSTESTTAB, (619,16)
      Waiting XID :

      {104179, S}

      , NSTEST, select max(serialkey) from nstesttab where serialkey > ?
      Granted XID :

      {104564, X}

      . The selected victim is XID : 104564.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
      ... 14 more

      For more examples, see comments on DERBY-5448.

      Attachments

        1. DERBY-5454_try1.diff
          2 kB
          Myrna van Lunteren
        2. DERBY-5454_try2.diff
          3 kB
          Myrna van Lunteren

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: