]
Pedro Ruivo updated ISPN-8938:
------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
CacheNotifier should use the cache member and not the view members
------------------------------------------------------------------
Key: ISPN-8938
URL:
https://issues.jboss.org/browse/ISPN-8938
Project: Infinispan
Issue Type: Bug
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
When a clustered listener is registered, the {{CacheNotifierImpl}} is using the view
members to register a remote listener but the {{DistributorExecutorService}} is using the
cache-members. The missing members (not in the cache) are silently discarded (via
{{SuspectException}}).
If a member is joining the cache concurrently, the remote listener may never been
installed. as an example (node-a, node-b, and node-c is joining):
{code:java}
view is {a,b,c} in all the nodes
node-a: receives join from node-c
node-a: sends the remote listeners
node-b: registers a new clustered listener. node-c doesn't receive it because it
isn't a member in this node
node-a: starts rebalance and continues with normal state transfer
node-c is never aware of the listener of b
{code}