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

HotRod client topology info can get out of sync with the server topology info


      Say we have a HotRod cluster with a JGroups view A1 [A, B]. A client makes a get request to A, and it receives topology id 1, with nodes [A, B].

      Another node C joins the HotRod cluster, and the JGroups view becomes A2 [A, B, C]. It takes a certain time for C to finish joining the topology cache, so for a limited amount of time the topology cache on A only contains [A, B].

      If the client makes another get request during this time interval, it will receive topology id 2, but still with nodes [A, B]. So its consistent hash will not contain C.

      Future requests from the same client will send topology id 2 to the server, so the server will believe that the client's CH is [A, B, C] and won't send another topology update until another JGroups view is installed (because of a join, leave, or merge).

      Note that this can happen even if the client had C in its initial host list, because topology updates override the initial host list.

            rh-ee-galder Galder ZamarreƱo
            dberinde@redhat.com Dan Berindei (Inactive)
            0 Vote for this issue
            3 Start watching this issue