@Test public void weAreOneOfThePotentialLeaders() throws Exception { PingableLeader other = mock(PingableLeader.class); PaxosLeaderElectionService service = new PaxosLeaderElectionServiceBuilder() .proposer(mock(PaxosProposer.class)) .knowledge(mock(PaxosLearner.class)) .potentialLeadersToHosts(ImmutableMap.of(other, HostAndPort.fromHost("other"))) .acceptors(ImmutableList.of()) .learners(ImmutableList.of()) .executor(Executors.newSingleThreadExecutor()) .pingRateMs(0L) .randomWaitBeforeProposingLeadershipMs(0L) .leaderPingResponseWaitMs(0L) .eventRecorder(mock(PaxosLeadershipEventRecorder.class)) .onlyLogOnQuorumFailure(() -> true) .build(); assertThat(service.getPotentialLeaders()).containsExactlyInAnyOrder(other, service); }
.pingRateMs(config.pingRateMs()) .randomWaitBeforeProposingLeadershipMs(config.randomWaitBeforeProposingLeadershipMs()) .leaderPingResponseWaitMs(config.leaderPingResponseWaitMs()) .eventRecorder(leadershipEventRecorder) .onlyLogOnQuorumFailure(Suppliers.compose(LeaderRuntimeConfig::onlyLogOnQuorumFailure, runtime::get))
.pingRateMs(0L) .randomWaitBeforeProposingLeadershipMs(0L) .leaderPingResponseWaitMs(0L) .onlyLogOnQuorumFailure(() -> true) .build();
.pingRateMs(config.pingRateMs()) .randomWaitBeforeProposingLeadershipMs(config.randomWaitBeforeProposingLeadershipMs()) .leaderPingResponseWaitMs(config.leaderPingResponseWaitMs()) .eventRecorder(leadershipEventRecorder) .onlyLogOnQuorumFailure(Suppliers.compose(LeaderRuntimeConfig::onlyLogOnQuorumFailure, runtime::get))