[ https://issues.apache.org/jira/browse/GEODE-678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darrel Schneider reassigned GEODE-678: -------------------------------------- Assignee: Darrel Schneider > DistributedLockService: reentrant lock calls with a small wait time can cause > the lock to be lost > ------------------------------------------------------------------------------------------------- > > Key: GEODE-678 > URL: https://issues.apache.org/jira/browse/GEODE-678 > Project: Geode > Issue Type: Bug > Components: core > Reporter: Darrel Schneider > Assignee: Darrel Schneider > > If a thread already holds a lock from the DistributedLockService (this also > applies to global regions and using Region.getDistributedLock) then it can > reenter the lock by acquiring it again by calling lock. Since the thread > already holds the lock it does not need to wait to acquire it. But if a very > small waitTIme parameter is passed then the implementation may timeout the > reacquire call telling the caller that it could not acquire the lock. > In this case the thread also loses the original lock it held and future > attempts to release it will fail with LockNotHeldException. > The waitTime should only be considered in the initial lock request when you > might be waiting for some other thread to release the lock. If you already > hold the lock then waitTime should be ignored. -- This message was sent by Atlassian JIRA (v6.3.4#6332)