1 of 1 people found this helpful
... so all the keys are distributed 1/3 on each node...
That's a wrong assumption. Each node takes a fixed position in the hash wheel and there's no guarantees that the splits are equal. To solve this inequality issue, virtual nodes were developed in Infinispan 5.0, where each node can take tens, hundreds, thousands of positions in the hash wheel, hence reducing the standard deviation for each node.
B does not transfer anything. For data to survive, data owners must be 2 or higher, in which case you're guaranteed that data will be stored in another node on top of B.
Great, thanks a lot for explaining me that, I assumed equal splits optimistically but it's wrong.
So speaking about version 4.2.1 without Virtual nodes, with my example if data owners are 2 and B leaves, keys belonging to B have 1 data owner left, but is the other data owner of B keys gonna trasfer a copy of its keys to another node in order to replace the missing node and get again data owners=2 for its keys?
No, B won't do anything. It'd be A and C that have the other copy of the data in C that will figure out which data needs to be sent to each other in order to maintain 2 copies of the data.