Class HashConfiguration
- java.lang.Object
-
- org.infinispan.configuration.cache.HashConfiguration
-
- All Implemented Interfaces:
org.infinispan.commons.configuration.attributes.Matchable<HashConfiguration>
,BaseConfigurationInfo
,ConfigurationInfo
public class HashConfiguration extends Object implements org.infinispan.commons.configuration.attributes.Matchable<HashConfiguration>, ConfigurationInfo
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.elements.ElementDefinition
ELEMENT_DEFINITION
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.ConsistentHashFactory<?>
consistentHashFactory()
Deprecated.Since 11.0.boolean
equals(Object obj)
org.infinispan.commons.configuration.elements.ElementDefinition
getElementDefinition()
GroupsConfiguration
groups()
Configuration for various grouper definitions.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).List<ConfigurationInfo>
subElements()
String
toString()
-
-
-
Field Detail
-
CONSISTENT_HASH_FACTORY
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<ConsistentHashFactory> CONSISTENT_HASH_FACTORY
-
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
-
ELEMENT_DEFINITION
public static final org.infinispan.commons.configuration.elements.ElementDefinition ELEMENT_DEFINITION
-
-
Method Detail
-
consistentHashFactory
@Deprecated public ConsistentHashFactory<?> consistentHashFactory()
Deprecated.Since 11.0. Will be removed in 14.0, the segment allocation will no longer be customizable.The consistent hash factory in use.
-
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, very small
numSegments
values (< 10 segments per node) will make the distribution of keys between nodes more uneven.The recommended value is 20 * the expected cluster size.
Note: The value returned by
ConsistentHash.getNumSegments()
may be different, e.g. rounded up to a power of 2.
-
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()
- Specified by:
attributes
in interfaceBaseConfigurationInfo
- Returns:
- the
AttributeSet
declared by the configuration.
-
getElementDefinition
public org.infinispan.commons.configuration.elements.ElementDefinition getElementDefinition()
- Specified by:
getElementDefinition
in interfaceBaseConfigurationInfo
- Returns:
- the
ElementDefinition
of the configuration.
-
subElements
public List<ConfigurationInfo> subElements()
- Specified by:
subElements
in interfaceConfigurationInfo
- Returns:
- the list of sub elements.
-
toString
public String toString()
-
equals
public boolean equals(Object obj)
-
hashCode
public int hashCode()
-
matches
public boolean matches(HashConfiguration other)
-
-