Vladislav Pyatkov created IGNITE-22980:
------------------------------------------
Summary: Lock manager may fail and lock waiter simultaneously
Key: IGNITE-22980
URL: https://issues.apache.org/jira/browse/IGNITE-22980
Project: Ignite
Issue Type: Bug
Reporter: Vladislav Pyatkov
h3. Motivation
The behavior was hardly predicted or planned. But currently, we can acquery a
lock:
{code:java}
private void lock() {
IgniteUtils.dumpStack(Loggers.forClass(HeapLockManager.class),
"Lock is taken " + intendedLockMode);
lockMode = intendedLockMode;
intendedLockMode = null;
intendedLocks.clear();
}
{code}
and made the waiter fail:
{code:java}
private void fail(LockException e) {
ex = e;
}
{code}
without limitation (assertion checking or explicitly prohibition).
h3. Definition of done
Only one method can be applied to a lock attempt ether lock() or fail(), but
not both.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)