Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-8938

CacheNotifier should use the cache member and not the view members

    Details

      Description

      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):

      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
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  pruivo Pedro Ruivo
                  Reporter:
                  pruivo Pedro Ruivo
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: