From f7f6b1742311d27967f1740795a25772da74f2c8 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 22 Mar 2016 18:38:46 +0100 Subject: [PATCH] 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 --- .../controller/cluster/raft/behaviors/AbstractLeader.java | 4 ++-- .../cluster/raft/behaviors/AbstractRaftActorBehavior.java | 2 +- .../controller/cluster/raft/behaviors/IsolatedLeader.java | 7 +------ .../controller/cluster/raft/behaviors/Leader.java | 2 +- 4 files changed, 5 insertions(+), 10 deletions(-) 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(); } -- 2.36.6