Class TopologyAwareSyncConsistentHashFactory

java.lang.Object
org.infinispan.distribution.ch.impl.SyncConsistentHashFactory
org.infinispan.distribution.ch.impl.TopologyAwareSyncConsistentHashFactory
All Implemented Interfaces:
ConsistentHashFactory<DefaultConsistentHash>

public class TopologyAwareSyncConsistentHashFactory extends SyncConsistentHashFactory
A ConsistentHashFactory implementation that guarantees caches with the same members have the same consistent hash and also tries to distribute segments based on the topology information in TransportConfiguration.

It has a drawback compared to DefaultConsistentHashFactory: it can potentially move a lot more segments during a rebalance than strictly necessary.

It is not recommended using the TopologyAwareSyncConsistentHashFactory with a very small number of segments. The distribution of segments to owners gets better with a higher number of segments, and is especially bad when numSegments &lt; numNodes

Since:
5.2
Author:
Dan Berindei