|
43 | 43 | import org.apache.ratis.util.Preconditions; |
44 | 44 | import org.apache.ratis.util.ProtoUtils; |
45 | 45 | import org.apache.ratis.util.TimeDuration; |
46 | | -import org.junit.AssumptionViolatedException; |
| 46 | +import org.apache.ratis.util.function.CheckedConsumer; |
| 47 | +import org.junit.jupiter.api.Assumptions; |
47 | 48 | import org.junit.jupiter.api.Assertions; |
48 | 49 | import org.slf4j.Logger; |
49 | 50 | import org.slf4j.LoggerFactory; |
@@ -475,18 +476,18 @@ static List<RaftPeer> getPeersWithPriority(List<RaftPeer> peers, RaftPeer sugges |
475 | 476 |
|
476 | 477 | static RaftPeerId changeLeader(MiniRaftCluster cluster, RaftPeerId oldLeader) |
477 | 478 | throws Exception { |
478 | | - return changeLeader(cluster, oldLeader, AssumptionViolatedException::new); |
| 479 | + return changeLeader(cluster, oldLeader, Assumptions::abort); |
479 | 480 | } |
480 | 481 |
|
481 | | - static RaftPeerId changeLeader(MiniRaftCluster cluster, RaftPeerId oldLeader, Function<String, Exception> constructor) |
482 | | - throws Exception { |
| 482 | + static RaftPeerId changeLeader(MiniRaftCluster cluster, RaftPeerId oldLeader, |
| 483 | + CheckedConsumer<String, Exception> failToChangeLeaderHandler) throws Exception { |
483 | 484 | final String name = JavaUtils.getCallerStackTraceElement().getMethodName() + "-changeLeader"; |
484 | 485 | cluster.setBlockRequestsFrom(oldLeader.toString(), true); |
485 | 486 | try { |
486 | 487 | return JavaUtils.attemptRepeatedly(() -> { |
487 | 488 | final RaftPeerId newLeader = waitForLeader(cluster).getId(); |
488 | 489 | if (newLeader.equals(oldLeader)) { |
489 | | - throw constructor.apply("Failed to change leader: newLeader == oldLeader == " + oldLeader); |
| 490 | + failToChangeLeaderHandler.accept("Failed to change leader: newLeader == oldLeader == " + oldLeader); |
490 | 491 | } |
491 | 492 | LOG.info("Changed leader from " + oldLeader + " to " + newLeader); |
492 | 493 | return newLeader; |
|
0 commit comments