void runTestBasicAppendEntriesAsync(ReplicationLevel replication, boolean killLeader) throws Exception { final CLUSTER cluster = newCluster(killLeader? 5: 3); try { cluster.start(); waitForLeader(cluster); RaftBasicTests.runTestBasicAppendEntries(true, replication, killLeader, 1000, cluster, LOG); } finally { cluster.shutdown(); } }
Sender(RaftPeerId leaderId, CountDownLatch latch, int numMsg) { this.latch = latch; this.client = cluster.createClient(leaderId); msgs = generateMsgs(numMsg); }
public CLUSTER newCluster(int numServer, RaftProperties prop) { return newCluster(generateIds(numServer, 0), prop); } }
@Test public void testWithLoadAsync() throws Exception { LOG.info("Running testWithLoadAsync"); final CLUSTER cluster = newCluster(NUM_SERVERS); cluster.start(); waitForLeader(cluster); RaftBasicTests.testWithLoad(10, 500, true, cluster, LOG); cluster.shutdown(); }
/** Set {@link #currentCluster} to the given cluster and start it if {@link #currentCluster} is changed. */ public static void setAndStart(MiniRaftCluster cluster) throws InterruptedException { final MiniRaftCluster previous = currentCluster.getAndSet(cluster); if (previous != cluster) { if (previous != null) { previous.shutdown(); } cluster.start(); RaftTestUtil.waitForLeader(cluster); } }
default CLUSTER newCluster(int numPeers) throws IOException { return getFactory().newCluster(numPeers, getProperties()); } }
@Test public void testAsyncDelayRequestIfLeaderStepDown() throws Exception { final CLUSTER cluster = newCluster(5); cluster.start(); runTestDelayRequestIfLeaderStepDown(true, cluster, LOG); } }
@Test public void testWithLoadAsync() throws Exception { runWithNewCluster(NUM_SERVERS, cluster -> RaftBasicTests.testWithLoad(10, 500, true, cluster, LOG)); }
@Override public MiniRaftCluster getCluster(int peerNum) throws IOException { return MiniRaftClusterWithSimulatedRpc.FACTORY.newCluster(peerNum, prop); } }
public static SimpleMessage[] create(int numMessages, String prefix) { final SimpleMessage[] messages = new SimpleMessage[numMessages]; for (int i = 0; i < messages.length; i++) { messages[i] = new SimpleMessage(prefix + i); } return messages; }
@After public void tearDown() { final MiniRaftCluster cluster = getCluster(); if (cluster != null) { cluster.shutdown(); } }
@After public void tearDown() { final MiniRaftCluster cluster = getCluster(); if (cluster != null) { cluster.shutdown(); } }
void runTestBasicAppendEntriesAsync(boolean killLeader) throws Exception { runWithNewCluster(killLeader? 5: 3, cluster -> RaftBasicTests.runTestBasicAppendEntries(true, killLeader, 100, cluster, LOG)); }
Client4TestWithLoad(int index, int numMessages, boolean useAsync, MiniRaftCluster cluster, Logger LOG) { super("client-" + index); this.index = index; this.messages = SimpleMessage.create(numMessages, index + "-"); this.useAsync = useAsync; this.cluster = cluster; this.LOG = LOG; }
public void testFailureCaseAsync( String description, Supplier<CompletableFuture<?>> testCode, Class<? extends Throwable> exceptedThrowableClass, Class<? extends Throwable>... exceptedCauseClasses) { testFailureCaseAsync(description, testCode, exceptedThrowableClass, LOG, exceptedCauseClasses); } }
Sender(RaftClient client, int numMessages, CountDownLatch latch) { this.latch = latch; this.client = client; this.messages = generateMsgs(numMessages); }
public CLUSTER newCluster(int numServer, RaftProperties prop) { return newCluster(generateIds(numServer, 0), prop); } }
default CLUSTER newCluster(int numPeers) { return getFactory().newCluster(numPeers, getProperties()); }
@Override public MiniRaftClusterWithGRpc getCluster(int peerNum) throws IOException { return MiniRaftClusterWithGRpc.FACTORY.newCluster(peerNum, prop); } }
public static SimpleMessage[] create(int numMessages, String prefix) { final SimpleMessage[] messages = new SimpleMessage[numMessages]; for (int i = 0; i < messages.length; i++) { messages[i] = new SimpleMessage(prefix + i); } return messages; }