Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-3055

Unreleased lock after node restart

    XMLWordPrintable

Details

    • Hide

      Step 1. Run SimpleClusterWriter and SimpleClusterRead. Test rollback functionality.
      Step 2. Kill SimpleClusterWriter and start it again.
      Step 3. Make rollback.
      Step 4. Make normal commit which leads to acquired lock from the previous rollback?!?

      Will change old value => 724 to the new value => 513
      Apr 29, 2013 3:26:58 PM org.infinispan.interceptors.InvocationContextInterceptor handleAll
      ERROR: ISPN000136: Execution error
      org.infinispan.util.concurrent.TimeoutException: Unable to acquire lock after [1 seconds] on key [k] for requestor [DldGlobalTransaction

      {coinToss=5887910943873340717, lockIntention=k, affectedKeys=[], locksAtOrigin=[]}

      GlobalTransaction:<node1-15887>:3:remote]! Lock held by [DldGlobalTransaction

      {coinToss=-39459977763357633, lockIntention=null, affectedKeys=[], locksAtOrigin=[]}

      GlobalTransaction:<node1-15887>:2:remote]
      at org.infinispan.util.concurrent.locks.LockManagerImpl.lock(LockManagerImpl.java:213)
      at org.infinispan.util.concurrent.locks.LockManagerImpl.acquireLock(LockManagerImpl.java:186)

      Show
      Step 1. Run SimpleClusterWriter and SimpleClusterRead. Test rollback functionality. Step 2. Kill SimpleClusterWriter and start it again. Step 3. Make rollback. Step 4. Make normal commit which leads to acquired lock from the previous rollback?!? Will change old value => 724 to the new value => 513 Apr 29, 2013 3:26:58 PM org.infinispan.interceptors.InvocationContextInterceptor handleAll ERROR: ISPN000136: Execution error org.infinispan.util.concurrent.TimeoutException: Unable to acquire lock after [1 seconds] on key [k] for requestor [DldGlobalTransaction {coinToss=5887910943873340717, lockIntention=k, affectedKeys=[], locksAtOrigin=[]} GlobalTransaction:<node1-15887>:3:remote]! Lock held by [DldGlobalTransaction {coinToss=-39459977763357633, lockIntention=null, affectedKeys=[], locksAtOrigin=[]} GlobalTransaction:<node1-15887>:2:remote] at org.infinispan.util.concurrent.locks.LockManagerImpl.lock(LockManagerImpl.java:213) at org.infinispan.util.concurrent.locks.LockManagerImpl.acquireLock(LockManagerImpl.java:186)

    Description

      Using dummy transaction manager I was able to produce locks that are not released. The same behavior can be reproduced with Glassfish AS 3.1.1 using its own TM.

      Attachments

        Issue Links

          Activity

            People

              pruivo@redhat.com Pedro Ruivo
              dpandulev Deyan Pandulev (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: