public abstract static class SplitBrainResolver.Strategy
extends java.lang.Object
implements akka.actor.NoSerializationVerificationNeeded
| Constructor and Description |
|---|
Strategy(java.lang.String selfDc) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(akka.cluster.Member m) |
void |
addReachable(akka.cluster.Member m) |
void |
addUnreachable(akka.cluster.Member m) |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
allMembersInDC() |
abstract SplitBrainResolver.Decision |
decide() |
boolean |
hasIndirectlyConnected() |
scala.collection.immutable.Set<akka.cluster.UniqueAddress> |
indirectlyConnected()
Nodes that are marked as unreachable but can communicate with gossip via a 3rd party.
|
boolean |
isAllUnreachableDownOrExiting() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
joining() |
scala.Option<akka.coordination.lease.scaladsl.Lease> |
lease() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
members()
All members in self DC, but doesn't contain Joining, WeaklyUp, Down and Exiting.
|
scala.collection.immutable.SortedSet<akka.cluster.Member> |
members(boolean includingPossiblyUp,
boolean excludingPossiblyExiting)
All members in self DC, but doesn't contain Joining, WeaklyUp, Down and Exiting.
|
scala.collection.immutable.SortedSet<akka.cluster.Member> |
membersWithRole() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
membersWithRole(boolean includingPossiblyUp,
boolean excludingPossiblyExiting) |
scala.collection.immutable.Set<akka.cluster.UniqueAddress> |
nodesToDown(SplitBrainResolver.Decision decision) |
SplitBrainResolver.Decision |
nodesToDown$default$1() |
protected scala.math.Ordering<akka.cluster.Member> |
ordering() |
akka.cluster.Reachability |
reachability() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
reachableMembers() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
reachableMembers(boolean includingPossiblyUp,
boolean excludingPossiblyExiting) |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
reachableMembersWithRole() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
reachableMembersWithRole(boolean includingPossiblyUp,
boolean excludingPossiblyExiting) |
void |
remove(akka.cluster.Member m) |
SplitBrainResolver.Decision |
reverseDecision(SplitBrainResolver.Decision decision) |
abstract scala.Option<java.lang.String> |
role() |
scala.collection.immutable.Set<akka.actor.Address> |
seenBy() |
java.lang.String |
selfDc() |
boolean |
setReachability(akka.cluster.Reachability r) |
void |
setSeenBy(scala.collection.immutable.Set<akka.actor.Address> s) |
scala.collection.immutable.Set<akka.cluster.UniqueAddress> |
unreachable() |
boolean |
unreachable(akka.cluster.Member m) |
scala.collection.immutable.Set<akka.cluster.UniqueAddress> |
unreachableButNotIndirectlyConnected() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
unreachableMembers() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
unreachableMembers(boolean includingPossiblyUp,
boolean excludingPossiblyExiting) |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
unreachableMembersWithRole() |
scala.collection.immutable.SortedSet<akka.cluster.Member> |
unreachableMembersWithRole(boolean includingPossiblyUp,
boolean excludingPossiblyExiting) |
public void add(akka.cluster.Member m)
public void addReachable(akka.cluster.Member m)
public void addUnreachable(akka.cluster.Member m)
public scala.collection.immutable.SortedSet<akka.cluster.Member> allMembersInDC()
public abstract SplitBrainResolver.Decision decide()
public boolean hasIndirectlyConnected()
public scala.collection.immutable.Set<akka.cluster.UniqueAddress> indirectlyConnected()
Cycle in unreachability graph corresponds to that some node is both observing another node as unreachable, and is also observed as unreachable by someone else.
Another indication of indirectly connected nodes is if a node is marked as unreachable, but it has still marked current gossip state as seen.
Those cases will not happen for clean splits and crashed nodes.
public boolean isAllUnreachableDownOrExiting()
public scala.collection.immutable.SortedSet<akka.cluster.Member> joining()
public scala.Option<akka.coordination.lease.scaladsl.Lease> lease()
public scala.collection.immutable.SortedSet<akka.cluster.Member> members()
public scala.collection.immutable.SortedSet<akka.cluster.Member> members(boolean includingPossiblyUp,
boolean excludingPossiblyExiting)
When includingPossiblyUp=true it also includes Joining and WeaklyUp members that could have been
changed to Up on the other side of a partition.
When excludingPossiblyExiting=true it doesn't include Leaving members that could have been
changed to Exiting on the other side of the partition.
includingPossiblyUp - (undocumented)excludingPossiblyExiting - (undocumented)public scala.collection.immutable.SortedSet<akka.cluster.Member> membersWithRole()
public scala.collection.immutable.SortedSet<akka.cluster.Member> membersWithRole(boolean includingPossiblyUp,
boolean excludingPossiblyExiting)
public scala.collection.immutable.Set<akka.cluster.UniqueAddress> nodesToDown(SplitBrainResolver.Decision decision)
public SplitBrainResolver.Decision nodesToDown$default$1()
protected scala.math.Ordering<akka.cluster.Member> ordering()
public akka.cluster.Reachability reachability()
public scala.collection.immutable.SortedSet<akka.cluster.Member> reachableMembers()
public scala.collection.immutable.SortedSet<akka.cluster.Member> reachableMembers(boolean includingPossiblyUp,
boolean excludingPossiblyExiting)
public scala.collection.immutable.SortedSet<akka.cluster.Member> reachableMembersWithRole()
public scala.collection.immutable.SortedSet<akka.cluster.Member> reachableMembersWithRole(boolean includingPossiblyUp,
boolean excludingPossiblyExiting)
public void remove(akka.cluster.Member m)
public SplitBrainResolver.Decision reverseDecision(SplitBrainResolver.Decision decision)
public abstract scala.Option<java.lang.String> role()
public scala.collection.immutable.Set<akka.actor.Address> seenBy()
public java.lang.String selfDc()
public boolean setReachability(akka.cluster.Reachability r)
r - (undocumented)public void setSeenBy(scala.collection.immutable.Set<akka.actor.Address> s)
public scala.collection.immutable.Set<akka.cluster.UniqueAddress> unreachable()
public boolean unreachable(akka.cluster.Member m)
public scala.collection.immutable.Set<akka.cluster.UniqueAddress> unreachableButNotIndirectlyConnected()
public scala.collection.immutable.SortedSet<akka.cluster.Member> unreachableMembers()
public scala.collection.immutable.SortedSet<akka.cluster.Member> unreachableMembers(boolean includingPossiblyUp,
boolean excludingPossiblyExiting)
public scala.collection.immutable.SortedSet<akka.cluster.Member> unreachableMembersWithRole()
public scala.collection.immutable.SortedSet<akka.cluster.Member> unreachableMembersWithRole(boolean includingPossiblyUp,
boolean excludingPossiblyExiting)