Uploaded image for project: 'JBoss Cache'
  1. JBoss Cache
  2. JBCACHE-1606

TimeoutException causes unreleased locks

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.4.1.SP13
    • Fix Version/s: None
    • Component/s: Locking
    • Labels:
      None

      Description

      5 nodes in JBoss Cache, pessimistic locking:
      /a/b/c1
      /a/b/c2
      /a/b/locked
      /a/b/c3
      /a/b/c4

      And the node "/a/b/locked" is write-locked by another thread. Then try to delete entire node "/a/b".
      Node.acquireAll successfully acquires write-lock on "/a/b/c1" and "/a/b/c2", but a TimeoutException occurs on "/a/b/locked" (which is expected).

      After this exception, locks on "/a/b/c1" and "/a/b/c2" are not released.

      Actually, Node.acquireAll shall return acquired locks, but in this case doesn't return anything but throws an exception. So, previously acquired locks are not in "cache.getLockTable()", and can't be released by UnlockInterceptor.

      TestCase attached.

        Attachments

        1. FT990Test.java
          2 kB
        2. Node.java
          20 kB
        3. PessimisticLockInterceptor.java
          21 kB

          Activity

            People

            Assignee:
            dereed Dennis Reed
            Reporter:
            jp_grillon Jean-Pierre GRILLON (Inactive)
            Archiver:
            samahaja Sagar Mahajan

              Dates

              Created:
              Updated:
              Archived: