]
Dan Berindei updated ISPN-5369:
-------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
SuspectException can be thrown without the target node leaving the
JGroups view
-------------------------------------------------------------------------------
Key: ISPN-5369
URL:
https://issues.jboss.org/browse/ISPN-5369
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 7.1.1.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 7.2.0.CR1
When we retry RPCs on a SuspectException, we wait for a new cache topology before
resending the RPC. Without the delay, the sender would entera very tight loop of invoking
the RPC and immediately receiving a SuspectException.
But in certain edge cases, it's possible to receive a SuspectException without the
suspected node ever being eliminated from the JGroups view (and without installing a new
cache topology). That means the thread waiting to retry the RPC will block forever.
The problem is that RequestCorrelator listens to SUSPECT events directly. If the FD
protocol then raises an UNSUSPECT event, GMS will not install a new view.
The solution should be to ignore SUSPECT events in RequestCorrelator, and only act on
view changes.