From: Robert Varga Date: Tue, 22 Mar 2016 17:38:46 +0000 (+0100) Subject: Make AbstractRaftActorBehavior.state() final X-Git-Tag: release/boron~295 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F66%2F36566%2F1;p=controller.git Make AbstractRaftActorBehavior.state() final This removes the potential inconsistency in IsolatedLeader, where the internal field (state) would be seen as Leader whereas the reported value (state()) would be IsolatedLeader. Change-Id: I079f934e31bb52b306ccc21e16b6c23442e87ce4 Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java index 58eaaf5cfb..83d0a52b90 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java @@ -92,8 +92,8 @@ public abstract class AbstractLeader extends AbstractRaftActorBehavior { private Optional snapshot; - public AbstractLeader(RaftActorContext context) { - super(context, RaftState.Leader); + protected AbstractLeader(RaftActorContext context, RaftState state) { + super(context, state); setLeaderPayloadVersion(context.getPayloadVersion()); diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java index 79b3a82fd8..5394d65e2a 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java @@ -91,7 +91,7 @@ public abstract class AbstractRaftActorBehavior implements RaftActorBehavior { } @Override - public RaftState state() { + public final RaftState state() { return state; } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java index 8f544dc32f..a623660dfd 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java @@ -27,7 +27,7 @@ import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply; */ public class IsolatedLeader extends AbstractLeader { public IsolatedLeader(RaftActorContext context) { - super(context); + super(context, RaftState.IsolatedLeader); } // we received an Append Entries reply, we should switch the Behavior to Leader @@ -44,9 +44,4 @@ public class IsolatedLeader extends AbstractLeader { } return ret; } - - @Override - public RaftState state() { - return RaftState.IsolatedLeader; - } } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java index b941cfcc9f..380e22a777 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java @@ -56,7 +56,7 @@ public class Leader extends AbstractLeader { private @Nullable LeadershipTransferContext leadershipTransferContext; public Leader(RaftActorContext context) { - super(context); + super(context, RaftState.Leader); isolatedLeaderCheck = Stopwatch.createStarted(); }