Class HashConfiguration
- java.lang.Object
-
- org.infinispan.configuration.cache.HashConfiguration
-
- All Implemented Interfaces:
org.infinispan.commons.configuration.attributes.Matchable<HashConfiguration>
public class HashConfiguration extends Object implements org.infinispan.commons.configuration.attributes.Matchable<HashConfiguration>
Allows fine-tuning of rehashing characteristics. Must only used with 'distributed' cache mode.- Author:
- pmuir
-
-
Field Summary
Fields Modifier and Type Field Description static org.infinispan.commons.configuration.attributes.AttributeDefinition<Float>
CAPACITY_FACTOR
static org.infinispan.commons.configuration.attributes.AttributeDefinition<ConsistentHashFactory>
CONSISTENT_HASH_FACTORY
static org.infinispan.commons.configuration.attributes.AttributeDefinition<org.infinispan.commons.hash.Hash>
HASH
static org.infinispan.commons.configuration.attributes.AttributeDefinition<KeyPartitioner>
KEY_PARTITIONER
static org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer>
NUM_OWNERS
static org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer>
NUM_SEGMENTS
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description org.infinispan.commons.configuration.attributes.AttributeSet
attributes()
float
capacityFactor()
Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster.ConsistentHash
consistentHash()
Deprecated.Since 5.2, replaced byconsistentHashFactory()
.ConsistentHashFactory<?>
consistentHashFactory()
The consistent hash factory in use.boolean
equals(Object obj)
GroupsConfiguration
groups()
Configuration for various grouper definitions.org.infinispan.commons.hash.Hash
hash()
Deprecated.Since 8.2, usekeyPartitioner()
instead.int
hashCode()
KeyPartitioner
keyPartitioner()
boolean
matches(HashConfiguration other)
int
numOwners()
Number of cluster-wide replicas for each cache entry.int
numSegments()
Controls the total number of hash space segments (per cluster).boolean
rehashEnabled()
Deprecated.UseStateTransferConfiguration.fetchInMemoryState()
instead.long
rehashRpcTimeout()
Deprecated.UseStateTransferConfiguration.timeout()
instead.long
rehashWait()
Deprecated.UseStateTransferConfiguration.timeout()
instead.String
toString()
-
-
-
Field Detail
-
CONSISTENT_HASH_FACTORY
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<ConsistentHashFactory> CONSISTENT_HASH_FACTORY
-
HASH
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<org.infinispan.commons.hash.Hash> HASH
-
NUM_OWNERS
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer> NUM_OWNERS
-
NUM_SEGMENTS
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer> NUM_SEGMENTS
-
CAPACITY_FACTOR
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Float> CAPACITY_FACTOR
-
KEY_PARTITIONER
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<KeyPartitioner> KEY_PARTITIONER
-
-
Method Detail
-
consistentHash
@Deprecated public ConsistentHash consistentHash()
Deprecated.Since 5.2, replaced byconsistentHashFactory()
.
-
consistentHashFactory
public ConsistentHashFactory<?> consistentHashFactory()
The consistent hash factory in use.
-
hash
@Deprecated public org.infinispan.commons.hash.Hash hash()
Deprecated.Since 8.2, usekeyPartitioner()
instead.The hash function in use. Used as a bit spreader and a general hash code generator. Typically one of the the many defaultConsistentHash
implementations shipped.
-
numOwners
public int numOwners()
Number of cluster-wide replicas for each cache entry.
-
numSegments
public int numSegments()
Controls the total number of hash space segments (per cluster).A hash space segment is the granularity for key distribution in the cluster: a node can own (or primary-own) one or more full segments, but not a fraction of a segment. As such, larger
numSegments
values will mean a more even distribution of keys between nodes.On the other hand, the memory/bandwidth usage of the new consistent hash grows linearly with
numSegments
. So we recommend keepingnumSegments <= 10 * clusterSize
.
-
rehashEnabled
@Deprecated public boolean rehashEnabled()
Deprecated.UseStateTransferConfiguration.fetchInMemoryState()
instead.If false, no rebalancing or rehashing will take place when a new node joins the cluster or a node leaves
-
rehashRpcTimeout
@Deprecated public long rehashRpcTimeout()
Deprecated.UseStateTransferConfiguration.timeout()
instead.Rehashing timeout
-
rehashWait
@Deprecated public long rehashWait()
Deprecated.UseStateTransferConfiguration.timeout()
instead.
-
capacityFactor
public float capacityFactor()
Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster. This is just a suggestion, there is no guarantee that a node with a capacity factor of2
will have twice as many entries as a node with a capacity factor of1
.
-
keyPartitioner
public KeyPartitioner keyPartitioner()
-
groups
public GroupsConfiguration groups()
Configuration for various grouper definitions. See the user guide for more information.
-
attributes
public org.infinispan.commons.configuration.attributes.AttributeSet attributes()
-
matches
public boolean matches(HashConfiguration other)
- Specified by:
matches
in interfaceorg.infinispan.commons.configuration.attributes.Matchable<HashConfiguration>
-
-