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

Implicit Cache Lock Release Failure

    XMLWordPrintable

    Details

      Description

       Infinispan cache to run on a single node with PESSIMISTIC locking. The application is backed with Java EE and runs on the JBOSS application server. Therefore container manage EJB transaction is created using @Transaction annotation and the container is all responsible for commit and rollback created transaction. Code Structure looks like follow

      structure as follows Transaction

      @Transaction

      public void processOrder(){

      // validations

      cache1.put(k,v1) // need to acquire lock

      // do some action

      }

      if any exception found then mark rollback using sessionContext.setRollbackOnly(); inside finally block.

      But under high load, if a certain cache key gets locked it will forever, and each subsequent attempt to lock the same key will result in a lock acquisition timeout exception as follow. This lock never releases and persists forever.

      javax.ejb.EJBTransactionRolledbackException: ISPN000299: Unable to acquire lock after 25 seconds for key 51254 and requestor GlobalTx:local:9. Lock is held by GlobalTx:local:1

      The server log file (server-1.log) also attached to this with Infinispan config xml

        Attachments

        1. Infinispan-core-cache-default-config.xml
          22 kB
        2. server.log
          5.00 MB
        3. server-1.log
          15.71 MB

          Issue Links

            Activity

              People

              Assignee:
              pruivo Pedro Ruivo
              Reporter:
              ishara.d.wijesinghe Ishara Wijesinghe (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: