Class HashConfiguration

All Implemented Interfaces:
Matchable<HashConfiguration>, Updatable<HashConfiguration>

public class HashConfiguration extends ConfigurationElement<HashConfiguration>
Allows fine-tuning of rehashing characteristics. Must only used with 'distributed' cache mode.
Author:
pmuir
  • Field Details

  • Method Details

    • consistentHashFactory

      @Deprecated(forRemoval=true, since="11.0") public ConsistentHashFactory<?> consistentHashFactory()
      Deprecated, for removal: This API element is subject to removal in a future version.
      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.