LowestAddressJoinDecider

akka.management.cluster.bootstrap.LowestAddressJoinDecider

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".

Attributes

Source
LowestAddressJoinDecider.scala
Graph
Supertypes
trait JoinDecider
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

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

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

Attributes

Definition Classes
Source
LowestAddressJoinDecider.scala

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.

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

Source
LowestAddressJoinDecider.scala

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.

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

Source
LowestAddressJoinDecider.scala

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.

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

Source
LowestAddressJoinDecider.scala

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.

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

Source
LowestAddressJoinDecider.scala

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

Source
LowestAddressJoinDecider.scala

Inherited methods

protected def contactPointString(contactPoint: ResolvedTarget): String

Attributes

Inherited from:
SelfAwareJoinDecider (hidden)
Source
SelfAwareJoinDecider.scala
protected def contactPointString(contactPoint: (String, Int)): String

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

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

Attributes

Inherited from:
SelfAwareJoinDecider (hidden)
Source
SelfAwareJoinDecider.scala
protected def hostMatches(host: String, target: ResolvedTarget): Boolean

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

Inherited from:
SelfAwareJoinDecider (hidden)
Source
SelfAwareJoinDecider.scala

Inherited fields

protected val log: MarkerLoggingAdapter

Attributes

Inherited from:
SelfAwareJoinDecider (hidden)
Source
SelfAwareJoinDecider.scala