All Implemented Interfaces:
AutoCloseable, RaftActorBehavior

public class IsolatedLeader extends AbstractLeader
Leader which is termed as isolated.

If the reply from the majority of the followers is not received then the leader changes its behavior to IsolatedLeader. An isolated leader may have followers and they would continue to receive replicated messages.

A schedule is run, at an interval of (10 * Heartbeat-time-interval), in the Leader to check if its isolated or not.

In the Isolated Leader , on every AppendEntriesReply, we aggressively check if the leader is isolated. If no, then the state is switched back to Leader.

  • Constructor Details

  • Method Details

    • handleAppendEntriesReply

      protected RaftActorBehavior handleAppendEntriesReply(ActorRef sender, AppendEntriesReply appendEntriesReply)
      Description copied from class: AbstractRaftActorBehavior
      Derived classes should not directly handle AppendEntriesReply messages it should let the base class handle it first. Once the base class handles the AppendEntriesReply message and does the common actions that are applicable in all RaftState's it will delegate the handling of the AppendEntriesReply message to the derived class to do more state specific handling by calling this method
      Overrides:
      handleAppendEntriesReply in class AbstractLeader
      Parameters:
      sender - The actor that sent this message
      appendEntriesReply - The AppendEntriesReply message
      Returns:
      a new behavior if it was changed or the current behavior