On 11-05-11 11:23 AM, Dan Berindei wrote:
If ReentrantReadWriteLock would allow upgrades then you would get a
deadlock when two threads both hold the read lock and try to upgrade
to a write lock at the same time.
There's always a trade-off...
I'm not familiar with the code, but are you sure the read lock is
being held by the same thread that is trying to acquire the write
lock?
Not sure and it sounds counter intuitive that a thread holding a read
lock from cluster invocation is doing state generation for state
transfer as well. But this lock business is fishy and I plan to get to
the bottom of it...