* sends a heartbeat first when connectivity is re-established.
*/
@Test
- public void runTest1() throws Exception {
+ public void runTest1() {
testLog.info("PartitionedLeadersElectionScenarioTest 1 starting");
setupInitialMemberBehaviors();
* sends a heartbeat first when connectivity is re-established.
*/
@Test
- public void runTest2() throws Exception {
+ public void runTest2() {
testLog.info("PartitionedLeadersElectionScenarioTest 2 starting");
setupInitialMemberBehaviors();
testLog.info("resolvePartitionedLeadersWithLeaderMember2SendingHeartbeatFirst ending");
}
- private void resolvePartitionedLeadersWithLeaderMember3SendingHeartbeatFirst() throws Exception {
+ private void resolvePartitionedLeadersWithLeaderMember3SendingHeartbeatFirst() {
testLog.info("resolvePartitionedLeadersWithLeaderMember3SendingHeartbeatFirst starting");
// Re-establish connectivity between member 2 and 3, ie stop dropping messages between
testLog.info("resolvePartitionedLeadersWithLeaderMember3SendingHeartbeatFirst ending");
}
- private void sendElectionTimeoutToNowCandidateMember2() throws Exception {
+ private void sendElectionTimeoutToNowCandidateMember2() {
testLog.info("sendElectionTimeoutToNowCandidateMember2 starting");
// member 2, now a candidate, is partitioned from the Leader (now member 3) and hasn't received any
testLog.info("sendElectionTimeoutToNowCandidateMember2 ending");
}
- private void sendInitialElectionTimeoutToFollowerMember3() throws Exception {
+ private void sendInitialElectionTimeoutToFollowerMember3() {
testLog.info("sendInitialElectionTimeoutToFollowerMember3 starting");
// Send ElectionTimeout to member 3 to simulate no heartbeat from a Leader (originally member 1).
testLog.info("sendInitialElectionTimeoutToFollowerMember2 ending");
}
- private void setupInitialMemberBehaviors() throws Exception {
+ private void setupInitialMemberBehaviors() {
testLog.info("setupInitialMemberBehaviors starting");
// Create member 2's behavior initially as Follower
DefaultConfigParamsImpl member2ConfigParams = newConfigParams();
member2Context.setConfigParams(member2ConfigParams);
- member2Actor.behavior = new Follower(member2Context);
- member2Context.setCurrentBehavior(member2Actor.behavior);
+ member2Actor.self().tell(new SetBehavior(new Follower(member2Context), member2Context),
+ ActorRef.noSender());
// Create member 3's behavior initially as Follower
DefaultConfigParamsImpl member3ConfigParams = newConfigParams();
member3Context.setConfigParams(member3ConfigParams);
- member3Actor.behavior = new Follower(member3Context);
- member3Context.setCurrentBehavior(member3Actor.behavior);
+ member3Actor.self().tell(new SetBehavior(new Follower(member3Context), member3Context),
+ ActorRef.noSender());
// Create member 1's behavior initially as Leader