Re: Problems with unlocking multiply held cache locks.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: Problems with unlocking multiply held cache locks.

Denis Mekhanikov
Cross-posting to developers list.

Guys, cache locks work inconsistently: if you take a lock twice, but
release it only once, then *IgniteCache#isLocalLocked* will tell you, that
you hold a lock, but another node will be able to acquire it.
We should either make the lock non-reentrant, or not release the cache lock
until it's unlocked the corresponding number of times.

Initial post:
http://apache-ignite-users.70518.x6.nabble.com/Problems-with-unlocking-multiply-held-cache-locks-td22317.html

Denis

ср, 27 июн. 2018 г. в 17:00, Jon Tricker <[hidden email]>:

> It appears that cache locks are intended to support re-entrancy. The
> debugger shows a count variable and the lock can be taken several times by
> the same node and then unlocked an equal number of times.
>
>
>
> If a node has taken a lock several times a second node attempts to take
> the same lock then, as expected, it blocks. However if the first node frees
> the lock once the second node unlocks and both nodes end up holding the
> lock.
>
>
>
> Hopefully demonstrated by the attached test code.
>
> The information in this e-mail and any attachments is confidential and may
> be legally privileged. It is intended solely for the addressee or
> addressees. Any use or disclosure of the contents of this
> e-mail/attachments by a not intended recipient is unauthorized and may be
> unlawful. If you have received this e-mail in error please notify the
> sender. Please note that any views or opinions presented in this e-mail are
> solely those of the author and do not necessarily represent those of
> TEMENOS. We recommend that you check this e-mail and any attachments
> against viruses. TEMENOS accepts no liability for any damage caused by any
> malicious code or virus transmitted by this e-mail.
>