private void preAppendEntriesAsync(RaftPeerId leaderId, RaftGroupId leaderGroupId, long leaderTerm, TermIndex previous, long leaderCommit, boolean initializing, LogEntryProto... entries) throws IOException { CodeInjectionForTesting.execute(APPEND_ENTRIES, getId(), leaderId, leaderTerm, previous, leaderCommit, initializing, entries); final LifeCycle.State currentState = assertLifeCycleState(STARTING, RUNNING); if (currentState == STARTING) { if (role.getCurrentRole() == null) { throw new ServerNotReadyException("The role of Server " + getId() + " is not yet initialized."); } } assertGroup(leaderId, leaderGroupId); try { validateEntries(leaderTerm, previous, entries); } catch (IllegalArgumentException e) { throw new IOException(e); } }
RaftClientRequest request, TransactionContext context, RetryCache.CacheEntry cacheEntry) throws IOException { assertLifeCycleState(RUNNING); CompletableFuture<RaftClientReply> reply;
LOG.debug("{}: receive requestVote({}, {}, {}, {})", getId(), candidateId, candidateGroupId, candidateTerm, candidateLastEntry); assertLifeCycleState(RUNNING); assertGroup(candidateId, candidateGroupId);
RaftClientRequest request, TransactionContext context, RetryCache.CacheEntry cacheEntry) throws IOException { assertLifeCycleState(RUNNING); CompletableFuture<RaftClientReply> reply;
LOG.debug("{}: receive requestVote({}, {}, {}, {})", getId(), candidateId, candidateGroupId, candidateTerm, candidateLastEntry); assertLifeCycleState(RUNNING); assertGroup(candidateId, candidateGroupId);
+ ", entries: " + ServerProtoUtils.toString(entries)); assertLifeCycleState(STARTING, RUNNING); assertGroup(leaderId, leaderGroupId);
SetConfigurationRequest request) throws IOException { LOG.debug("{}: receive setConfiguration({})", getId(), request); assertLifeCycleState(RUNNING); assertGroup(request.getRequestorId(), request.getRaftGroupId());
SetConfigurationRequest request) throws IOException { LOG.debug("{}: receive setConfiguration({})", getId(), request); assertLifeCycleState(RUNNING); assertGroup(request.getRequestorId(), request.getRaftGroupId());
@Override public CompletableFuture<RaftClientReply> submitClientRequestAsync( RaftClientRequest request) throws IOException { assertLifeCycleState(RUNNING); LOG.debug("{}: receive client request({})", getId(), request); if (request.is(RaftClientRequestProto.TypeCase.STALEREAD)) {
@Override public CompletableFuture<RaftClientReply> submitClientRequestAsync( RaftClientRequest request) throws IOException { assertLifeCycleState(RUNNING); LOG.debug("{}: receive client request({})", getId(), request); if (request.is(RaftClientRequestProto.TypeCase.STALEREAD)) {
LOG.debug("{}: receive installSnapshot({})", getId(), request); assertLifeCycleState(STARTING, RUNNING); assertGroup(leaderId, leaderGroupId);
LOG.debug("{}: receive installSnapshot({})", getId(), request); assertLifeCycleState(STARTING, RUNNING); assertGroup(leaderId, leaderGroupId);