final String s = "" + i; LOG.info("sendAsync " + s); futures.add(client.sendAsync(new SimpleMessage(s))); new SimpleMessage("" + Long.MAX_VALUE), followerCommitInfo.getCommitIndex(), follower), StateMachineException.class, IndexOutOfBoundsException.class); final String query = "" + i; LOG.info("query=" + query + ", reply=" + reply); final Message message = new SimpleMessage(query); final CompletableFuture<RaftClientReply> readFuture = client.sendReadOnlyAsync(message);
final SimpleMessage[] messages = SimpleMessage.create(numMessages);
static boolean logEntriesContains(RaftLog log, SimpleMessage... expectedMessages) { int idxEntries = 0; int idxExpected = 0; TermIndex[] termIndices = log.getEntries(0, Long.MAX_VALUE); while (idxEntries < termIndices.length && idxExpected < expectedMessages.length) { try { if (Arrays.equals(expectedMessages[idxExpected].getContent().toByteArray(), log.get(termIndices[idxEntries].getIndex()).getSmLogEntry().getData().toByteArray())) { ++idxExpected; } } catch (IOException e) { throw new RuntimeException(e); } ++idxEntries; } return idxExpected == expectedMessages.length; }
final String s = "m" + i; LOG.info("sendAsync " + s); futures.add(client.sendAsync(new RaftTestUtil.SimpleMessage(s))); new RaftTestUtil.SimpleMessage("" + (numMesssages + 1)), followerCommitInfo.getCommitIndex(), follower), StateMachineException.class, IndexOutOfBoundsException.class); final int query = i; LOG.info("sendStaleReadAsync, query=" + query); final Message message = new RaftTestUtil.SimpleMessage("" + query); final CompletableFuture<RaftClientReply> readFuture = client.sendReadOnlyAsync(message); final CompletableFuture<RaftClientReply> staleReadFuture = client.sendStaleReadAsync(
final SimpleMessage[] messages = SimpleMessage.create(10, "initial-"); final List<CompletableFuture<RaftClientReply>> replies = new ArrayList<>(); for (int i = 0; i < messages.length; i++) { final SimpleMessage[] messages = SimpleMessage.create(10); int i = 0; testFailureCaseAsync("last-request", () -> client.sendAsync(new SimpleMessage("last")), AlreadyClosedException.class, RaftRetryFailureException.class);
void runTestRestartCommitIndex(MiniRaftCluster cluster) throws Exception { final TimeDuration sleepTime = TimeDuration.valueOf(100, TimeUnit.MILLISECONDS); final SimpleMessage[] messages = SimpleMessage.create(10); try (final RaftClient client = cluster.createClient()) { for(SimpleMessage m : messages) {
try(final RaftClient client = cluster.createClient(leaderId)) { for (; i < SNAPSHOT_TRIGGER_THRESHOLD * 2 - 1; i++) { RaftClientReply reply = client.send(new SimpleMessage("m" + i)); Assert.assertTrue(reply.isSuccess()); Assert.assertTrue(client.send(new SimpleMessage("test")).isSuccess());
RaftClientReply reply = client.send(new SimpleMessage("m" + i)); Assert.assertTrue(reply.isSuccess());
try(final RaftClient client = cluster.createClient(leaderId)) { for (; i < SNAPSHOT_TRIGGER_THRESHOLD * 2 - 1; i++) { RaftClientReply reply = client.send(new SimpleMessage("m" + i)); Assert.assertTrue(reply.isSuccess()); Assert.assertTrue(client.send(new SimpleMessage("test")).isSuccess());
client.send(new RaftTestUtil.SimpleMessage("message")); RaftClientReply reply = client.send( new RaftTestUtil.SimpleMessage("message2"));
replyFuture = client.sendAsync(new RaftTestUtil.SimpleMessage("abc")); Thread.sleep(waitTime);
final SimpleMessage[] messages = SimpleMessage.create(numMessages);
final Supplier<Message> newMessage = () -> new SimpleMessage("m" + messageCount.getAndIncrement()); writeSomething(newMessage, cluster); for(int i = 0; i < messageCount.get(); i++) { if (i != truncatedMessageIndex) { final Message m = new SimpleMessage("m" + i); final RaftClientReply reply = client.sendReadOnly(m); Assert.assertTrue(reply.isSuccess());
final long seqNum = 111; RaftClientRequest r = cluster.newRaftClientRequest(client.getId(), leaderId, callId, seqNum, new SimpleMessage("message")); RaftClientReply reply = rpc.sendRequest(r); Assert.assertEquals(callId, reply.getCallId()); callId, seqNum, new SimpleMessage("message")); rpc.addServers(Arrays.asList(change.newPeers)); for (int i = 0; i < 10; i++) {
client.getId(), leaderId, new SimpleMessage("test")); while (!success.get()) { try {
RaftClientReply reply = client.send(new SimpleMessage("m" + i)); Assert.assertTrue(reply.isSuccess());
client.getId(), leaderId, new SimpleMessage("test")); while (!success.get()) { try {
final long seqNum = 111; RaftClientRequest r = cluster.newRaftClientRequest(client.getId(), leaderId, callId, seqNum, new RaftTestUtil.SimpleMessage("message")); RaftClientReply reply = rpc.sendRequest(r); Objects.requireNonNull(reply.getStateMachineException()); callId, seqNum, new RaftTestUtil.SimpleMessage("message")); reply = rpc.sendRequest(r); Objects.requireNonNull(reply.getStateMachineException());
try { reply = rpc.sendRequest(cluster.newRaftClientRequest( ClientId.randomId(), leaderId, new SimpleMessage("m1"))); } catch (IOException ignored) { Thread.sleep(1000); reply = client.send(new SimpleMessage("m2")); Assert.assertTrue(reply.isSuccess()); client.close();
RaftClientReply reply = client.send(new SimpleMessage("m" + i)); Assert.assertTrue(reply.isSuccess());