Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
5.2.6.Final, 5.3.0.CR2
-
None
Description
Let's say we have a cluster with 5 nodes: A(r1), B(r2), C(r2), D(r3), E(r3)
TopologyAwareConsistentSyncHashFactory will spread the segments equally on each rack, meaning A will own 2x segments compared to the other nodes.
TopologyAwareConsistentHashFactory limits the maximum number per node, so that A owns just as many segments as the other nodes. With a slight limitation: the number of racks must be greater than numOwners, otherwise each rack must hold (at least) one copy of all the data.
TopologyAwareConsistentSyncHashFactory is a little random, so we can't distribute the data perfectly, but we can limit the number of segments on each node to something like 1.5x the average number of segments.