public static Pair<RaftRequestMessage, Integer> bytesToRequestMessage(byte[] data){ if(data == null || data.length != RAFT_REQUEST_HEADER_SIZE){ throw new IllegalArgumentException("invalid request message header."); } ByteBuffer buffer = ByteBuffer.wrap(data); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.fromByte(buffer.get())); request.setSource(buffer.getInt()); request.setDestination(buffer.getInt()); request.setTerm(buffer.getLong()); request.setLastLogTerm(buffer.getLong()); request.setLastLogIndex(buffer.getLong()); request.setCommitIndex(buffer.getLong()); int logDataSize = buffer.getInt(); return new Pair<RaftRequestMessage, Integer>(request, logDataSize); }
public static Pair<RaftRequestMessage, Integer> bytesToRequestMessage(byte[] data){ if(data == null || data.length != RAFT_REQUEST_HEADER_SIZE){ throw new IllegalArgumentException("invalid request message header."); } ByteBuffer buffer = ByteBuffer.wrap(data); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.fromByte(buffer.get())); request.setSource(buffer.getInt()); request.setDestination(buffer.getInt()); request.setTerm(buffer.getLong()); request.setLastLogTerm(buffer.getLong()); request.setLastLogIndex(buffer.getLong()); request.setCommitIndex(buffer.getLong()); int logDataSize = buffer.getInt(); return new Pair<RaftRequestMessage, Integer>(request, logDataSize); }
private static RaftRequestMessage randomRequest(){ RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(randomMessageType());; request.setCommitIndex(random.nextLong()); request.setDestination(random.nextInt()); request.setLastLogIndex(random.nextLong()); request.setLastLogTerm(random.nextLong()); request.setSource(random.nextInt()); request.setTerm(random.nextLong()); LogEntry[] entries = new LogEntry[random.nextInt(20) + 1]; for(int i = 0; i < entries.length; ++i){ entries[i] = randomLogEntry(); } request.setLogEntries(entries); return request; }
private static RaftRequestMessage randomRequest(){ RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(randomMessageType());; request.setCommitIndex(random.nextLong()); request.setDestination(random.nextInt()); request.setLastLogIndex(random.nextLong()); request.setLastLogTerm(random.nextLong()); request.setSource(random.nextInt()); request.setTerm(random.nextLong()); LogEntry[] entries = new LogEntry[random.nextInt(20) + 1]; for(int i = 0; i < entries.length; ++i){ entries[i] = randomLogEntry(); } request.setLogEntries(entries); return request; }
requestMessage.setLastLogTerm(snapshot.getLastLogTerm()); requestMessage.setLogEntries(new LogEntry[] { new LogEntry(term, syncRequest.toBytes(), LogValueType.SnapshotSyncRequest) }); requestMessage.setCommitIndex(commitIndex); requestMessage.setTerm(term); return requestMessage;
private void inviteServerToJoinCluster(){ RaftRequestMessage request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id); request.setTerm(this.state.getTerm()); request.setMessageType(RaftMessageType.JoinClusterRequest); request.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1); request.setLogEntries(new LogEntry[] { new LogEntry(this.state.getTerm(), this.config.toBytes(), LogValueType.Configuration) }); this.serverToJoin.SendRequest(request).whenCompleteAsync((RaftResponseMessage response, Throwable error) -> { this.handleExtendedResponse(response, error); }, this.context.getScheduledExecutor()); }
private void inviteServerToJoinCluster(){ RaftRequestMessage request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id); request.setTerm(this.state.getTerm()); request.setMessageType(RaftMessageType.JoinClusterRequest); request.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1); request.setLogEntries(new LogEntry[] { new LogEntry(this.state.getTerm(), this.config.toBytes(), LogValueType.Configuration) }); this.serverToJoin.SendRequest(request).whenCompleteAsync((RaftResponseMessage response, Throwable error) -> { this.handleExtendedResponse(response, error); }, this.context.getScheduledExecutor()); }
private void inviteServerToJoinCluster(){ RaftRequestMessage request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id); request.setTerm(this.state.getTerm()); request.setMessageType(RaftMessageType.JoinClusterRequest); request.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1); request.setLogEntries(new LogEntry[] { new LogEntry(this.state.getTerm(), this.config.toBytes(), LogValueType.Configuration) }); this.serverToJoin.SendRequest(request).whenCompleteAsync((RaftResponseMessage response, Throwable error) -> { this.handleExtendedResponse(response, error); }, this.context.getScheduledExecutor()); }
requestMessage.setLastLogTerm(lastLogTerm); requestMessage.setLogEntries(logEntries); requestMessage.setCommitIndex(commitIndex); requestMessage.setTerm(term); return requestMessage;
leaveClusterRequest.setCommitIndex(this.quickCommitIndex); leaveClusterRequest.setDestination(peer.getId()); leaveClusterRequest.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1);
leaveClusterRequest.setCommitIndex(this.quickCommitIndex); leaveClusterRequest.setDestination(peer.getId()); leaveClusterRequest.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1);
leaveClusterRequest.setCommitIndex(this.quickCommitIndex); leaveClusterRequest.setDestination(peer.getId()); leaveClusterRequest.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1);
byte[] logPack = this.logStore.packLog(startIndex, sizeToSync); request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id);
byte[] logPack = this.logStore.packLog(startIndex, sizeToSync); request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id);
byte[] logPack = this.logStore.packLog(startIndex, sizeToSync); request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id);
requestMessage.setLastLogTerm(lastLogTerm); requestMessage.setLogEntries(logEntries); requestMessage.setCommitIndex(commitIndex); requestMessage.setTerm(term); return requestMessage;
requestMessage.setLastLogTerm(snapshot.getLastLogTerm()); requestMessage.setLogEntries(new LogEntry[] { new LogEntry(term, syncRequest.toBytes(), LogValueType.SnapshotSyncRequest) }); requestMessage.setCommitIndex(commitIndex); requestMessage.setTerm(term); return requestMessage;
requestMessage.setLastLogTerm(lastLogTerm); requestMessage.setLogEntries(logEntries); requestMessage.setCommitIndex(commitIndex); requestMessage.setTerm(term); return requestMessage;
requestMessage.setLastLogTerm(snapshot.getLastLogTerm()); requestMessage.setLogEntries(new LogEntry[] { new LogEntry(term, syncRequest.toBytes(), LogValueType.SnapshotSyncRequest) }); requestMessage.setCommitIndex(commitIndex); requestMessage.setTerm(term); return requestMessage;