- private static void verifyRaftState(ActorRef raftActor, final RaftState expState) throws Throwable {
- Timeout timeout = new Timeout(500, TimeUnit.MILLISECONDS);
- Throwable lastError = null;
- Stopwatch sw = Stopwatch.createStarted();
- while(sw.elapsed(TimeUnit.SECONDS) <= 5) {
- try {
- OnDemandRaftState raftState = (OnDemandRaftState)Await.result(ask(raftActor,
- GetOnDemandRaftState.INSTANCE, timeout), timeout.duration());
- assertEquals("getRaftState", expState.toString(), raftState.getRaftState());
- return;
- } catch (Exception | AssertionError e) {
- lastError = e;
- Uninterruptibles.sleepUninterruptibly(50, TimeUnit.MILLISECONDS);
- }
- }
-
- throw lastError;
+ private static void verifyRaftState(ActorRef raftActor, final RaftState expState) {
+ verifyRaftState(raftActor, rs -> assertEquals("getRaftState", expState.toString(), rs.getRaftState()));