]
Mircea Markus commented on ISPN-976:
------------------------------------
This is no longer a problem in 5.0 given the new rebalancing code. It still applies for
4.2.x branch.
TopologyAwareConsistentHash does not work when numOwners=1 and
rehashing
-------------------------------------------------------------------------
Key: ISPN-976
URL:
https://issues.jboss.org/browse/ISPN-976
Project: Infinispan
Issue Type: Bug
Affects Versions: 4.2.1.FINAL
Reporter: Mircea Markus
Assignee: Mircea Markus
Priority: Critical
Fix For: 4.2.2.BETA1, 4.2.2.FINAL
Specifically, the problem is with getStateProvidersOnLeave.
Assume you have nodes 1, 2, and 4.
Now node 3 joins.
This method will iterate over each address and will skip the joiner (node3).
For the remaining nodes it will call getOwners
e.g. - getOwners(node1), getOwners(node2), getOwners(node3)
This method will always begin by adding the first node in the tailMap which is the
address that is being iterated over. Since numOwners is set to 1 it skips the while loop
and returns the result.
So...
getOwners(1) returns {node1}
getOwners(2) returns {node2}
getOwners(4) returns {node4}
Now we return to getStateProvidersOnLeave
It now checks to see if the result contains the joiner (node3). However, it can never
contain the joiner.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: