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

Implicit Cache Lock Release Failure

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 12.1.5.Final, 13.0.0.Final
    • 10.0.0.Final
    • Core
    • None

       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

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

              pruivo@redhat.com Pedro Ruivo
              ishara.d.wijesinghe@gmail.com Ishara Wijesinghe (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: