Dan Berindei created ISPN-10041:
-----------------------------------
Summary: Locking interceptor should check the topology before acquiring
locks
Key: ISPN-10041
URL:
https://issues.jboss.org/browse/ISPN-10041
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.4.9.Final, 10.0.0.Beta2, 9.3.6.Final, 8.2.11.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 10.0.0.Beta3
The distribution interceptors check the command topology is the same as the current
topology before sending a command to remote nodes, but the locking interceptors do not
have any check.
On a remote node, this means the inbound invocation handler acquires some locks in
topology {{T}}, then the locking interceptor acquires other locks in topology {{T+1}}, and
finally the distribution interceptor throws {{OutdatedTopologyException}} and releases the
locks. In older versions there is also a potential for blocking a remote executor thread
while waiting for the lock, but luckily that is not a problem in 9.4+. It would be more
efficient if the locking interceptor was throwing {{OutdatedTopologyException}} instead.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)