Class

akka.management.cluster.bootstrap

LowestAddressJoinDecider

Related Doc: package bootstrap

Permalink

class LowestAddressJoinDecider extends SelfAwareJoinDecider

The decision of joining "self" is made by deterministically sorting the discovered services and picking the *lowest* address. Only the node with lowest address joins itself.

If any of the contact-points returns a list of seed nodes it joins the existing cluster immediately.

Joining "self" is only done when enough number of contact points have been discovered (required-contact-point-nr) and there have been no changes to the discovered contact points during the stable-margin.

There must also be seed node observations from all discovered contact points before joining "self".

Source
LowestAddressJoinDecider.scala
Linear Supertypes
SelfAwareJoinDecider, JoinDecider, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LowestAddressJoinDecider
  2. SelfAwareJoinDecider
  3. JoinDecider
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LowestAddressJoinDecider(system: ActorSystem, settings: ClusterBootstrapSettings)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def contactPointString(contactPoint: ResolvedTarget): String

    Permalink
    Attributes
    protected
    Definition Classes
    SelfAwareJoinDecider
  7. def contactPointString(contactPoint: (String, Int)): String

    Permalink

    Returns the current selfContactPoints as a String for logging, e.g.

    Returns the current selfContactPoints as a String for logging, e.g. [127.0.0.1:64714].

    Attributes
    protected
    Definition Classes
    SelfAwareJoinDecider
  8. def decide(info: SeedNodesInformation): Future[JoinDecision]

    Permalink

    Decide if and how to join based on the gathered SeedNodesInformation.

    Decide if and how to join based on the gathered SeedNodesInformation. The returned JoinDecision can be KeepProbing, JoinSelf or JoinOtherSeedNodes.

    Definition Classes
    LowestAddressJoinDeciderJoinDecider
  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hasEnoughContactPoints(info: SeedNodesInformation): Boolean

    Permalink

    May be overridden by subclass to decide if enough contact points have been discovered.

    May be overridden by subclass to decide if enough contact points have been discovered. info.contactPoints.size is the number of discovered (e.g. via DNS lookup) contact points and info.seedNodesObservations.size is the number that has been confirmed that they are reachable and running.

    Attributes
    protected
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hostMatches(host: String, target: ResolvedTarget): Boolean

    Permalink

    Checks for both host name and IP address for discovery mechanisms that return both.

    Checks for both host name and IP address for discovery mechanisms that return both.

    Attributes
    protected
    Definition Classes
    SelfAwareJoinDecider
  16. def isConfirmedCommunicationWithAllContactPointsRequired(info: SeedNodesInformation): Boolean

    Permalink

    May be overridden by subclass to allow joining self even though some of the discovered contact points have not been confirmed (unreachable or not running).

    May be overridden by subclass to allow joining self even though some of the discovered contact points have not been confirmed (unreachable or not running). hasEnoughContactPoints and isPastStableMargin must still be fulfilled.

    Attributes
    protected
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. def isPastStableMargin(info: SeedNodesInformation): Boolean

    Permalink

    May be overridden by subclass to decide if the set of discovered contact points is stable.

    May be overridden by subclass to decide if the set of discovered contact points is stable. info.contactPointsChangedAt was the time when the discovered contact points were changed last time. Subsequent lookup attempts after that returned the same contact points.

    Attributes
    protected
  19. def joinOtherSeedNodes(info: SeedNodesInformation): Set[Address]

    Permalink

    May be overridden by subclass to extract the nodes to use as seed nodes when joining existing cluster.

    May be overridden by subclass to extract the nodes to use as seed nodes when joining existing cluster. info.allSeedNodes contains all existing nodes. If the returned Set is empty it will continue probing.

    Attributes
    protected
  20. val log: MarkerLoggingAdapter

    Permalink
    Attributes
    protected
    Definition Classes
    SelfAwareJoinDecider
  21. def lowestAddressContactPoint(info: SeedNodesInformation): Option[ResolvedTarget]

    Permalink

    Contact point with the "lowest" contact point address, it is expected to join itself if no other cluster is found in the deployment.

    Contact point with the "lowest" contact point address, it is expected to join itself if no other cluster is found in the deployment.

    May be overridden by subclass for example if another sort order is desired.

    Attributes
    protected
  22. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  26. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from SelfAwareJoinDecider

Inherited from JoinDecider

Inherited from AnyRef

Inherited from Any

Ungrouped