Package akka.cluster
Class MembershipState
- java.lang.Object
-
- akka.cluster.MembershipState
-
- All Implemented Interfaces:
java.io.Serializable
,scala.Equals
,scala.Product
,scala.Serializable
public final class MembershipState extends java.lang.Object implements scala.Product, scala.Serializable
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description MembershipState(Gossip latestGossip, UniqueAddress selfUniqueAddress, java.lang.String selfDc, int crossDcConnections)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description scala.collection.immutable.Map<java.lang.String,scala.collection.immutable.SortedSet<Member>>
ageSortedTopOldestMembersPerDc()
static MembershipState
apply(Gossip latestGossip, UniqueAddress selfUniqueAddress, java.lang.String selfDc, int crossDcConnections)
INTERNAL APIboolean
canEqual(java.lang.Object x$1)
boolean
convergence(scala.collection.immutable.Set<UniqueAddress> exitingConfirmed)
Checks if we have a cluster convergence.static scala.collection.immutable.Set<MemberStatus>
convergenceSkipUnreachableWithMemberStatus()
MembershipState
copy(Gossip latestGossip, UniqueAddress selfUniqueAddress, java.lang.String selfDc, int crossDcConnections)
Gossip
copy$default$1()
UniqueAddress
copy$default$2()
java.lang.String
copy$default$3()
int
copy$default$4()
int
crossDcConnections()
scala.collection.SortedSet<Member>
dcMembers()
Reachability
dcReachability()
Reachability
dcReachabilityExcludingDownedObservers()
Reachability
dcReachabilityNoOutsideNodes()
Reachability
dcReachabilityWithoutObservationsWithin()
boolean
equals(java.lang.Object x$1)
scala.collection.immutable.Set<Member>
gossipTargetsForExitingMembers(scala.collection.immutable.Set<Member> exitingMembers)
The Exiting change is gossiped to the two oldest nodes for quick dissemination to potential Singleton nodesint
hashCode()
boolean
isInSameDc(UniqueAddress node)
boolean
isLeader(UniqueAddress node)
boolean
isReachableExcludingDownedObservers(UniqueAddress toAddress)
Gossip
latestGossip()
scala.Option<UniqueAddress>
leader()
scala.Option<UniqueAddress>
leaderOf(scala.collection.immutable.SortedSet<Member> mbrs)
scala.collection.immutable.SortedSet<Member>
members()
GossipOverview
overview()
int
productArity()
java.lang.Object
productElement(int x$1)
scala.collection.Iterator<java.lang.Object>
productIterator()
java.lang.String
productPrefix()
static scala.collection.immutable.Set<MemberStatus>
removeUnreachableWithMemberStatus()
scala.Option<UniqueAddress>
roleLeader(java.lang.String role)
MembershipState
seen()
java.lang.String
selfDc()
Member
selfMember()
UniqueAddress
selfUniqueAddress()
java.lang.String
toString()
static scala.Option<scala.Tuple4<Gossip,UniqueAddress,java.lang.String,java.lang.Object>>
unapply(MembershipState x$0)
boolean
validNodeForGossip(UniqueAddress node)
Never gossip to self and not to node marked as unreachable by self (heartbeat messages are not getting through so no point in trying to gossip).Member
youngestMember()
-
-
-
Constructor Detail
-
MembershipState
public MembershipState(Gossip latestGossip, UniqueAddress selfUniqueAddress, java.lang.String selfDc, int crossDcConnections)
-
-
Method Detail
-
convergenceSkipUnreachableWithMemberStatus
public static scala.collection.immutable.Set<MemberStatus> convergenceSkipUnreachableWithMemberStatus()
-
removeUnreachableWithMemberStatus
public static scala.collection.immutable.Set<MemberStatus> removeUnreachableWithMemberStatus()
-
apply
public static MembershipState apply(Gossip latestGossip, UniqueAddress selfUniqueAddress, java.lang.String selfDc, int crossDcConnections)
INTERNAL API- Parameters:
latestGossip
- (undocumented)selfUniqueAddress
- (undocumented)selfDc
- (undocumented)crossDcConnections
- (undocumented)- Returns:
- (undocumented)
-
unapply
public static scala.Option<scala.Tuple4<Gossip,UniqueAddress,java.lang.String,java.lang.Object>> unapply(MembershipState x$0)
-
latestGossip
public Gossip latestGossip()
-
selfUniqueAddress
public UniqueAddress selfUniqueAddress()
-
selfDc
public java.lang.String selfDc()
-
crossDcConnections
public int crossDcConnections()
-
selfMember
public Member selfMember()
-
members
public scala.collection.immutable.SortedSet<Member> members()
-
overview
public GossipOverview overview()
-
seen
public MembershipState seen()
-
convergence
public boolean convergence(scala.collection.immutable.Set<UniqueAddress> exitingConfirmed)
Checks if we have a cluster convergence. If there are any in data center node pairs that cannot reach each other then we can't have a convergence until those nodes reach each other again or one of them is downed- Parameters:
exitingConfirmed
- (undocumented)- Returns:
- true if convergence have been reached and false if not
-
dcReachability
public Reachability dcReachability()
-
dcReachabilityWithoutObservationsWithin
public Reachability dcReachabilityWithoutObservationsWithin()
-
dcReachabilityExcludingDownedObservers
public Reachability dcReachabilityExcludingDownedObservers()
-
dcReachabilityNoOutsideNodes
public Reachability dcReachabilityNoOutsideNodes()
-
ageSortedTopOldestMembersPerDc
public scala.collection.immutable.Map<java.lang.String,scala.collection.immutable.SortedSet<Member>> ageSortedTopOldestMembersPerDc()
-
isReachableExcludingDownedObservers
public boolean isReachableExcludingDownedObservers(UniqueAddress toAddress)
- Parameters:
toAddress
- (undocumented)- Returns:
- true if toAddress should be reachable from the fromDc in general, within a data center this means only caring about data center local observations, across data centers it means caring about all observations for the toAddress.
-
dcMembers
public scala.collection.SortedSet<Member> dcMembers()
-
isLeader
public boolean isLeader(UniqueAddress node)
-
leader
public scala.Option<UniqueAddress> leader()
-
roleLeader
public scala.Option<UniqueAddress> roleLeader(java.lang.String role)
-
leaderOf
public scala.Option<UniqueAddress> leaderOf(scala.collection.immutable.SortedSet<Member> mbrs)
-
isInSameDc
public boolean isInSameDc(UniqueAddress node)
-
validNodeForGossip
public boolean validNodeForGossip(UniqueAddress node)
Never gossip to self and not to node marked as unreachable by self (heartbeat messages are not getting through so no point in trying to gossip). Nodes marked as unreachable by others are still valid targets for gossip.- Parameters:
node
- (undocumented)- Returns:
- (undocumented)
-
youngestMember
public Member youngestMember()
-
gossipTargetsForExitingMembers
public scala.collection.immutable.Set<Member> gossipTargetsForExitingMembers(scala.collection.immutable.Set<Member> exitingMembers)
The Exiting change is gossiped to the two oldest nodes for quick dissemination to potential Singleton nodes- Parameters:
exitingMembers
- (undocumented)- Returns:
- (undocumented)
-
copy
public MembershipState copy(Gossip latestGossip, UniqueAddress selfUniqueAddress, java.lang.String selfDc, int crossDcConnections)
-
copy$default$1
public Gossip copy$default$1()
-
copy$default$2
public UniqueAddress copy$default$2()
-
copy$default$3
public java.lang.String copy$default$3()
-
copy$default$4
public int copy$default$4()
-
productPrefix
public java.lang.String productPrefix()
- Specified by:
productPrefix
in interfacescala.Product
-
productArity
public int productArity()
- Specified by:
productArity
in interfacescala.Product
-
productElement
public java.lang.Object productElement(int x$1)
- Specified by:
productElement
in interfacescala.Product
-
productIterator
public scala.collection.Iterator<java.lang.Object> productIterator()
- Specified by:
productIterator
in interfacescala.Product
-
canEqual
public boolean canEqual(java.lang.Object x$1)
- Specified by:
canEqual
in interfacescala.Equals
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object x$1)
- Specified by:
equals
in interfacescala.Equals
- Overrides:
equals
in classjava.lang.Object
-
-