package org.opendaylight.controller.cluster.raft.behaviors;
import static org.junit.Assert.assertEquals;
+
import akka.actor.ActorRef;
import akka.actor.Props;
import akka.testkit.TestActorRef;
@Override
@After
public void tearDown() throws Exception {
- if(isolatedLeader != null) {
+ if (isolatedLeader != null) {
isolatedLeader.close();
}
assertEquals("Raft state", RaftState.IsolatedLeader, isolatedLeader.state());
// in a 3 node cluster, even if 1 follower is returns a reply, the isolatedLeader is not isolated
- RaftActorBehavior behavior = isolatedLeader.handleMessage(senderActor,
+ RaftActorBehavior newBehavior = isolatedLeader.handleMessage(senderActor,
new AppendEntriesReply("follower-1", isolatedLeader.lastTerm() - 1, true,
isolatedLeader.lastIndex() - 1, isolatedLeader.lastTerm() - 1, (short)0));
- assertEquals("Raft state", RaftState.Leader, behavior.state());
+ assertEquals("Raft state", RaftState.Leader, newBehavior.state());
isolatedLeader.close();
- isolatedLeader = (AbstractLeader) behavior;
+ isolatedLeader = (AbstractLeader) newBehavior;
- behavior = isolatedLeader.handleMessage(senderActor,
+ newBehavior = isolatedLeader.handleMessage(senderActor,
new AppendEntriesReply("follower-2", isolatedLeader.lastTerm() - 1, true,
- isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
+ isolatedLeader.lastIndex() - 1, isolatedLeader.lastTerm() - 1, (short)0 ));
- assertEquals("Raft state", RaftState.Leader, behavior.state());
+ assertEquals("Raft state", RaftState.Leader, newBehavior.state());
}
@Test
String followerAddress3 = "akka://test/user/$c";
String followerAddress4 = "akka://test/user/$d";
- MockRaftActorContext leaderActorContext = createActorContext();
+ final MockRaftActorContext leaderActorContext = createActorContext();
Map<String, String> peerAddresses = new HashMap<>();
peerAddresses.put("follower-1", followerAddress1);
peerAddresses.put("follower-2", followerAddress2);
assertEquals("Raft state", RaftState.IsolatedLeader, isolatedLeader.state());
// in a 5 member cluster, atleast 2 followers need to be active and return a reply
- RaftActorBehavior behavior = isolatedLeader.handleMessage(senderActor,
+ RaftActorBehavior newBehavior = isolatedLeader.handleMessage(senderActor,
new AppendEntriesReply("follower-1", isolatedLeader.lastTerm() - 1, true,
- isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
+ isolatedLeader.lastIndex() - 1, isolatedLeader.lastTerm() - 1, (short)0 ));
- assertEquals("Raft state", RaftState.IsolatedLeader, behavior.state());
+ assertEquals("Raft state", RaftState.IsolatedLeader, newBehavior.state());
- behavior = isolatedLeader.handleMessage(senderActor,
+ newBehavior = isolatedLeader.handleMessage(senderActor,
new AppendEntriesReply("follower-2", isolatedLeader.lastTerm() - 1, true,
- isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
+ isolatedLeader.lastIndex() - 1, isolatedLeader.lastTerm() - 1, (short)0 ));
- assertEquals("Raft state", RaftState.Leader, behavior.state());
+ assertEquals("Raft state", RaftState.Leader, newBehavior.state());
isolatedLeader.close();
- isolatedLeader = (AbstractLeader) behavior;
+ isolatedLeader = (AbstractLeader) newBehavior;
- behavior = isolatedLeader.handleMessage(senderActor,
+ newBehavior = isolatedLeader.handleMessage(senderActor,
new AppendEntriesReply("follower-3", isolatedLeader.lastTerm() - 1, true,
- isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
+ isolatedLeader.lastIndex() - 1, isolatedLeader.lastTerm() - 1, (short)0 ));
- assertEquals("Raft state", RaftState.Leader, behavior.state());
+ assertEquals("Raft state", RaftState.Leader, newBehavior.state());
}
@Test
// if an append-entries reply is received by the isolated-leader, and that reply
// has a term > than its own term, then IsolatedLeader switches to Follower
// bowing itself to another leader in the cluster
- RaftActorBehavior behavior = isolatedLeader.handleMessage(senderActor,
+ RaftActorBehavior newBehavior = isolatedLeader.handleMessage(senderActor,
new AppendEntriesReply("follower-1", isolatedLeader.lastTerm() + 1, true,
isolatedLeader.lastIndex() + 1, isolatedLeader.lastTerm() + 1, (short)0));
- assertEquals("Raft state", RaftState.Follower, behavior.state());
+ assertEquals("Raft state", RaftState.Follower, newBehavior.state());
- behavior.close();
+ newBehavior.close();
}
}