Package akka.cluster.sbr
Class SplitBrainResolver
- java.lang.Object
-
- akka.cluster.sbr.SplitBrainResolverBase
-
- akka.cluster.sbr.SplitBrainResolver
-
- All Implemented Interfaces:
Actor
,Stash
,StashSupport
,Timers
,UnrestrictedStash
,RequiresMessageQueue<DequeBasedMessageQueueSemantics>
public final class SplitBrainResolver extends SplitBrainResolverBase
INTERNAL APIUnreachable members will be downed by this actor according to the given strategy. It is active on the leader node in the cluster.
The implementation is split into two classes SplitBrainResolver and SplitBrainResolverBase to be able to unit test the logic without running cluster.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SplitBrainResolver.AcquireLease$
For delayed acquire of the lease.static class
SplitBrainResolver.AcquireLeaseResult
Response (result) of the acquire lease request.static class
SplitBrainResolver.AcquireLeaseResult$
static class
SplitBrainResolver.ReachabilityChangedStats
static class
SplitBrainResolver.ReachabilityChangedStats$
static interface
SplitBrainResolver.ReleaseLeaseCondition
static class
SplitBrainResolver.ReleaseLeaseCondition$
static class
SplitBrainResolver.ReleaseLeaseResult
Response (result) of the release lease request.static class
SplitBrainResolver.ReleaseLeaseResult$
static class
SplitBrainResolver.Tick$
-
Nested classes/interfaces inherited from interface akka.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$
-
-
Constructor Summary
Constructors Constructor Description SplitBrainResolver(scala.concurrent.duration.FiniteDuration stableAfter, DowningStrategy strategy)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
down(UniqueAddress node, DowningStrategy.Decision decision)
void
postStop()
User overridable callback.void
preStart()
User overridable callback.static Props
props(scala.concurrent.duration.FiniteDuration stableAfter, DowningStrategy strategy)
java.lang.String
selfDc()
UniqueAddress
selfUniqueAddress()
-
Methods inherited from class akka.cluster.sbr.SplitBrainResolverBase
actOnDecision, addJoining, addUp, addWeaklyUp, akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, akka$actor$StashSupport$_setter_$mailbox_$eq, context, downAllWhenUnstable, isResponsible, leader, leader_$eq, leaving, log, mailbox, mutateMemberInfo, mutateResponsibilityInfo, newStableDeadline, observeDecision, reachabilityChanged, reachableDataCenter, reachableMember, receive, remove, resetStableDeadline, seenChanged, self, selfMemberAdded, selfMemberAdded_$eq, stableDeadline, stableDeadline_$eq, strategy, tickInterval, unreachableDataCenter, unreachableMember, waitingForLease
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface akka.actor.Actor
aroundPostRestart, aroundPreStart, postRestart, sender, supervisorStrategy, unhandled
-
Methods inherited from interface akka.actor.StashSupport
actorCell, clearStash, enqueueFirst, prepend, stash, theStash_$eq, unstash, unstashAll, unstashAll
-
Methods inherited from interface akka.actor.Timers
actorCell, aroundPostStop, aroundPreRestart, aroundReceive, super$aroundPostStop, super$aroundPreRestart, super$aroundReceive, timers
-
Methods inherited from interface akka.actor.UnrestrictedStash
preRestart, super$postStop, super$preRestart
-
-
-
-
Constructor Detail
-
SplitBrainResolver
public SplitBrainResolver(scala.concurrent.duration.FiniteDuration stableAfter, DowningStrategy strategy)
-
-
Method Detail
-
props
public static Props props(scala.concurrent.duration.FiniteDuration stableAfter, DowningStrategy strategy)
-
selfUniqueAddress
public UniqueAddress selfUniqueAddress()
- Specified by:
selfUniqueAddress
in classSplitBrainResolverBase
-
selfDc
public java.lang.String selfDc()
- Specified by:
selfDc
in classSplitBrainResolverBase
-
preStart
public void preStart()
Description copied from interface:Actor
User overridable callback. Is called when an Actor is started. Actors are automatically started asynchronously when created. Empty default implementation.
-
postStop
public void postStop()
Description copied from interface:Actor
User overridable callback. Is called asynchronously after 'actor.stop()' is invoked. Empty default implementation.- Specified by:
postStop
in interfaceActor
- Specified by:
postStop
in interfaceUnrestrictedStash
- Overrides:
postStop
in classSplitBrainResolverBase
-
down
public void down(UniqueAddress node, DowningStrategy.Decision decision)
- Specified by:
down
in classSplitBrainResolverBase
-
-