Package org.apache.ignite.client
Interface ClientPartitionAwarenessMapperFactory
-
public interface ClientPartitionAwarenessMapperFactory
This factory is used on the client side and only when the partition awareness thin client feature is enabled. By default, on a new cache the RendezvousAffinityFunction will be used for calculating mappings 'key-to-partition' and 'partition-to-node'. The thin client will update all 'partitions-to-node' mappings on every cluster topology change and the 'key-to-partition' mapping will be calculated on the client side.The case described above will not be possible (and in turn partition awareness won't work) when a custom
AffinityFunction
or aAffinityKeyMapper
was previously used for a cache creation. The partition awareness mapper factory is used to solve this issue. All 'partition-to-node' mappings will still be requested and received from a server node, however, if a custom AffinityFunction or a custom AffinityKeyMapper was used a ClientPartitionAwarenessMapper produced by this factory will calculate mapping a key to a partition.These key to partition mapping functions produced by the factory are used only for local calculations, they will not be passed to a server node.
- Since:
- 2.14
- See Also:
AffinityFunction
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ClientPartitionAwarenessMapper
create(String cacheName, int partitions)
-
-
-
Method Detail
-
create
ClientPartitionAwarenessMapper create(String cacheName, int partitions)
- Parameters:
cacheName
- Cache name to create a mapper for.partitions
- Number of cache partitions received from a server node.- Returns:
- Key to a partition mapper function.
-
-