Class HashConfiguration

java.lang.Object
org.infinispan.commons.configuration.attributes.ConfigurationElement<HashConfiguration>
org.infinispan.configuration.cache.HashConfiguration
All Implemented Interfaces:
org.infinispan.commons.configuration.attributes.Matchable<HashConfiguration>, org.infinispan.commons.configuration.attributes.Updatable<HashConfiguration>

public class HashConfiguration extends org.infinispan.commons.configuration.attributes.ConfigurationElement<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 final org.infinispan.commons.configuration.attributes.AttributeDefinition<Float>
     
    static final org.infinispan.commons.configuration.attributes.AttributeDefinition<ConsistentHashFactory>
     
    static final org.infinispan.commons.configuration.attributes.AttributeDefinition<KeyPartitioner>
     
    static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer>
     
    static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer>
     

    Fields inherited from class org.infinispan.commons.configuration.attributes.ConfigurationElement

    attributes, CHILDLESS, children, element, repeated
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster.
    Deprecated.
    Since 11.0.
    Configuration for various grouper definitions.
     
    int
    Number of cluster-wide replicas for each cache entry.
    int
    Controls the total number of hash space segments (per cluster).

    Methods inherited from class org.infinispan.commons.configuration.attributes.ConfigurationElement

    attributes, child, children, children, elementName, equals, findAttribute, hashCode, isModified, list, matches, toString, update, validateUpdate, write

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • 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
  • Method Details

    • 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 of 2 will have twice as many entries as a node with a capacity factor of 1.
    • keyPartitioner

      public KeyPartitioner keyPartitioner()
    • groups

      public GroupsConfiguration groups()
      Configuration for various grouper definitions. See the user guide for more information.