]
Katia Aresti updated ISPN-9415:
-------------------------------
Fix Version/s: 9.4.0.Final
(was: 9.4.0.CR1)
Client topology is not updated after cache becomes degraded
-----------------------------------------------------------
Key: ISPN-9415
URL:
https://issues.jboss.org/browse/ISPN-9415
Project: Infinispan
Issue Type: Bug
Components: Server
Affects Versions: 9.4.0.Beta1, 9.3.1.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.4.0.Final
When a new server is started, or after a merge, the other servers may see it as a an
owner in the consistent hash before the other servers see its server address in the
address cache ({{___hotRodTopologyCache}}). When a server needs to send a topology update
but some of the servers are missing from the address cache, it can't send the topology
update, so it tries to send a "partial update" that excludes the missing servers
from the segment owners. In order to send the full topology update when the address cache
is populated, the partial topology update has to be sent a smaller topology id, and that
means it is only send if {{serverTopologyId >= clientTopologyId + 2}}.
When the cluster splits and the cache becomes degraded, the servers in the other
partition are removed from the address cache, but the list of segment owners is not
updated, and the topology id is only incremented by 1. The address cache is incomplete,
but a partial update cannot be sent, so the client keeps the old topology and keeps trying
to connect to the servers in the other partition.