synchronized void changeToFollowerAndPersistMetadata(long newTerm, Object reason) throws IOException { if (changeToFollower(newTerm, false, reason)) { state.persistMetadata(); } }
private void handleEvent(StateUpdateEvent e) throws IOException { if (e == null) { if (inStagingState()) { checkNewPeers(); } } else { if (e.type == STEPDOWN) { server.changeToFollower(e.newTerm, true); } else if (e.type == UPDATECOMMIT) { updateLastCommitted(); } else if (e.type == STAGINGPROGRESS) { checkNewPeers(); } } }
fs != null? fs.getLastRpcTime().elapsedTimeMs() + "ms": null); } else if (state.recognizeCandidate(candidateId, candidateTerm)) { final boolean termUpdated = changeToFollower(candidateTerm, true, "recognizeCandidate:" + candidateId);
isFollower()? heartbeatMonitor.getLastRpcTime().elapsedTimeMs() + "ms": null); } else if (state.recognizeCandidate(candidateId, candidateTerm)) { boolean termUpdated = changeToFollower(candidateTerm, false);
final long term = r.term > server.getState().getCurrentTerm() ? r.term : server.getState().getCurrentTerm(); server.changeToFollower(term, true); return; case TIMEOUT:
changeToFollower(leaderTerm, true); state.setLeader(leaderId, "appendEntries");
return reply; changeToFollower(leaderTerm, true); state.setLeader(leaderId, "installSnapshot");