Package akka.cluster.sbr
Class LeaseMajority
- java.lang.Object
-
- akka.cluster.sbr.DowningStrategy
-
- akka.cluster.sbr.LeaseMajority
-
public final class LeaseMajority extends DowningStrategy
INTERNAL APIKeep the part that can acquire the lease, and down the other part.
Best effort is to keep the side that has most nodes, i.e. the majority side. This is achieved by adding a delay before trying to acquire the lease on the minority side.
If the
role
is defined the majority/minority is based only on members with thatrole
. It is only counting members within the own data center.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class akka.cluster.sbr.DowningStrategy
DowningStrategy.AcquireLeaseAndDownIndirectlyConnected, DowningStrategy.AcquireLeaseAndDownIndirectlyConnected$, DowningStrategy.AcquireLeaseAndDownUnreachable, DowningStrategy.AcquireLeaseAndDownUnreachable$, DowningStrategy.AcquireLeaseDecision, DowningStrategy.Decision, DowningStrategy.DownAll$, DowningStrategy.DownIndirectlyConnected$, DowningStrategy.DownReachable$, DowningStrategy.DownSelfQuarantinedByRemote$, DowningStrategy.DownUnreachable$, DowningStrategy.ReverseDownIndirectlyConnected$
-
-
Constructor Summary
Constructors Constructor Description LeaseMajority(java.lang.String selfDc, scala.Option<java.lang.String> role, Lease _lease, scala.concurrent.duration.FiniteDuration acquireLeaseDelayForMinority, scala.concurrent.duration.FiniteDuration releaseAfter, UniqueAddress selfUniqueAddress)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DowningStrategy.Decision
decide()
scala.Option<Lease>
lease()
scala.concurrent.duration.FiniteDuration
releaseAfter()
scala.Option<java.lang.String>
role()
-
Methods inherited from class akka.cluster.sbr.DowningStrategy
add, addReachable, addUnreachable, allMembersInDC, hasIndirectlyConnected, indirectlyConnected, isAllUnreachableDownOrExiting, joining, members, members, membersWithRole, membersWithRole, nodesToDown, nodesToDown$default$1, ordering, reachability, reachableMembers, reachableMembers, reachableMembersWithRole, reachableMembersWithRole, remove, reverseDecision, seenBy, selfDc, setReachability, setSeenBy, unreachable, unreachable, unreachableButNotIndirectlyConnected, unreachableMembers, unreachableMembers, unreachableMembersWithRole, unreachableMembersWithRole
-
-
-
-
Constructor Detail
-
LeaseMajority
public LeaseMajority(java.lang.String selfDc, scala.Option<java.lang.String> role, Lease _lease, scala.concurrent.duration.FiniteDuration acquireLeaseDelayForMinority, scala.concurrent.duration.FiniteDuration releaseAfter, UniqueAddress selfUniqueAddress)
-
-
Method Detail
-
decide
public DowningStrategy.Decision decide()
- Specified by:
decide
in classDowningStrategy
-
lease
public scala.Option<Lease> lease()
- Overrides:
lease
in classDowningStrategy
-
releaseAfter
public scala.concurrent.duration.FiniteDuration releaseAfter()
-
role
public scala.Option<java.lang.String> role()
- Specified by:
role
in classDowningStrategy
-
-