From 6be484b267326a336e8de8c7e01f252e2eb6768a Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 30 Mar 2016 19:54:45 +0200 Subject: [PATCH] BUG-5626: do not use needless cast Casting to Follower is not needed, as we can access the leader ID from the RaftActorBehavior interface. Change-Id: Id1b0e20571eb12b14791e7e42abe846ebe3a6b9f Signed-off-by: Robert Varga --- .../org/opendaylight/controller/cluster/raft/RaftActor.java | 4 ++-- .../cluster/raft/behaviors/AbstractRaftActorBehavior.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java index 620b2eb422..374b2a7e78 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java @@ -610,8 +610,8 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { // but transfer the previous leaderId so it doesn't immediately try to schedule an election. This // avoids potential disruption. Otherwise, switch to Follower normally. RaftActorBehavior behavior = getCurrentBehavior(); - if(behavior instanceof Follower) { - String previousLeaderId = ((Follower)behavior).getLeaderId(); + if (behavior != null && behavior.state() == RaftState.Follower) { + String previousLeaderId = behavior.getLeaderId(); short previousLeaderPayloadVersion = behavior.getLeaderPayloadVersion(); LOG.debug("{}: Re-initializing to Follower with previous leaderId {}", persistenceId(), previousLeaderId); 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 237e5eeaae..43704d8cfe 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 @@ -428,7 +428,8 @@ public abstract class AbstractRaftActorBehavior implements RaftActorBehavior { return this; } - @Override public String getLeaderId() { + @Override + public String getLeaderId() { return leaderId; } -- 2.36.6