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

AbstractTxLockingInterceptor.lockKeyAndCheckOwnership() anomalies: can wait indefinitelly or it can wait too little due to spurious wakeups

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.2.0.Final
    • 5.2.0.Final
    • Transactions
    • None

      When waiting for pending locks we can get into 2 cases that are not correctly handled:

      1. The check for remaining time (remaining < 0) is incorrect because if remaining == 0 it will try to wait for transactions (waitForLockRelease) with 0 timeout (indefinitely).

      2. CacheTransaction.waitForLockRelease() can return earlier than the specified timeout and the transaction might not yet be complete. This happens because the mechanism inside waitForLockRelease() does not protect itself from spurious wakeups leaving this to the caller. AbstractTxLockingInterceptor must be fixed to take care of this.

              anistor Adrian Nistor (Inactive)
              anistor Adrian Nistor (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: