[jboss-jira] [JBoss JIRA] (JGRP-1822) LockService.LockImpl synchronization issue with AtomicReference<Thread> holder
Manuel Dominguez Sarmiento (JIRA)
issues at jboss.org
Sun Apr 6 12:44:13 EDT 2014
Manuel Dominguez Sarmiento created JGRP-1822:
------------------------------------------------
Summary: LockService.LockImpl synchronization issue with AtomicReference<Thread> holder
Key: JGRP-1822
URL: https://issues.jboss.org/browse/JGRP-1822
Project: JGroups
Issue Type: Bug
Affects Versions: 3.4.2
Reporter: Manuel Dominguez Sarmiento
Assignee: Bela Ban
Right now, if two different threads invoke LockImpl.tryLock(), only one of them will obtain the lock, however both will attempt to update the AtomicReference<Thread> holder. Therefore the LockImpl may be left with a null holder value, even if the lock is actually held by another thread.
Similar issues might occur with the other methods (lock(), lockInterruptibly(), etc)
This can be worked around by obtaining new LockImpl instances on every use. In our use case we were caching the LockImpl instances for each lock name, so that's why we came across this.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list