Class TwoNodeClusterRaftPolicy
- java.lang.Object
-
- org.opendaylight.controller.cluster.datastore.policy.TwoNodeClusterRaftPolicy
-
- All Implemented Interfaces:
RaftPolicy
public class TwoNodeClusterRaftPolicy extends Object implements RaftPolicy
The TwoNodeClusterRaftPolicy is intended to be used in a two node deployment where when one instance of the controller goes down the other instance is to take over and move the state forward. When a TwoNodeClusterRaftPolicy is used Raft elections are disabled. This is primarily because we would need to specify the leader externally. Also since we want one node to continue to function while the other node is down we would need to apply a modification to the state before consensus occurs.
-
-
Constructor Summary
Constructors Constructor Description TwoNodeClusterRaftPolicy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
applyModificationToStateBeforeConsensus()
According to Raft consensus on a Raft entry is achieved only after a Leader replicates a log entry to a majority of it's followers.boolean
automaticElectionsEnabled()
According to Raft a Follower which does not receive a heartbeat (aka AppendEntries) in a given period should become a Candidate and trigger an election.
-
-
-
Method Detail
-
automaticElectionsEnabled
public boolean automaticElectionsEnabled()
Description copied from interface:RaftPolicy
According to Raft a Follower which does not receive a heartbeat (aka AppendEntries) in a given period should become a Candidate and trigger an election.- Specified by:
automaticElectionsEnabled
in interfaceRaftPolicy
- Returns:
- true to enable automatic Raft elections, false to disable them
-
applyModificationToStateBeforeConsensus
public boolean applyModificationToStateBeforeConsensus()
Description copied from interface:RaftPolicy
According to Raft consensus on a Raft entry is achieved only after a Leader replicates a log entry to a majority of it's followers.- Specified by:
applyModificationToStateBeforeConsensus
in interfaceRaftPolicy
- Returns:
- true if modification should be applied before consensus, false to apply modification to state as per Raft
-
-