[jbosscache-issues] [JBoss JIRA] (JBCACHE-1606) TimeoutException causes unreleased locks
Jean-Pierre GRILLON (Updated) (JIRA)
jira-events at lists.jboss.org
Wed Nov 9 12:08:45 EST 2011
[ https://issues.jboss.org/browse/JBCACHE-1606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Pierre GRILLON updated JBCACHE-1606:
-----------------------------------------
Attachment: Node.java
PessimisticLockInterceptor.java
Please find attached modified classes (modifications were described in my previous comment). These modifications fix the bug.
> TimeoutException causes unreleased locks
> ----------------------------------------
>
> Key: JBCACHE-1606
> URL: https://issues.jboss.org/browse/JBCACHE-1606
> Project: JBoss Cache
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Locking
> Affects Versions: 1.4.1.SP13
> Reporter: Jean-Pierre GRILLON
> Assignee: Manik Surtani
> Attachments: FT990Test.java, Node.java, PessimisticLockInterceptor.java
>
>
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbosscache-issues
mailing list