Class Partition

java.lang.Object
org.forgerock.opendj.discovery.Partition

public final class Partition extends Object
Named set of servers defining a distributed service. A distribution load balancer expects data to be split up into shards referred to as "partitions", each partition exposing the same set of naming contexts, but only a sub-set of the data. For example, a distribution might have two partitions, the first containing all users whose name begins with A-M, and the second containing all users whose name begins with N-Z. Both partitions have the same naming contexts, e.g:
dc=example,dc=com
unsharded parent naming context replicated across all servers.
Contains data common to all partitions, such as ACIs, groups, etc.
ou=people,dc=example,dc=com
sharded naming context whose content (the users) is split up according to some function, e.g. consistent hashing.
See Also:
  • Field Details

    • NULL_PARTITION

      public static final Partition NULL_PARTITION
      A partition implementing the null object pattern.
  • Method Details

    • getPrimaryServers

      public Set<Partition.Server> getPrimaryServers()
      Returns the set of primary server to use.
      Returns:
      the set of primary server to use.
    • getSecondaryServers

      public Set<Partition.Server> getSecondaryServers()
      Returns the set of fallback servers to use.
      Returns:
      the set of fallback servers to use
    • getNonCompliantServers

      public Set<Partition.Server> getNonCompliantServers()
      Returns the set of servers which have been detected but cannot be used because they do not comply with the configuration of the service discovery mechanism (wrong base DN for example).
      Returns:
      the set of non-compliant servers
    • getPartitionId

      public String getPartitionId()
      Returns the ID for the partition.
      Returns:
      the ID for the partition
    • toString

      public String toString()
      Overrides:
      toString in class Object