when 1 replica, become leader immediately

This commit is contained in:
Li Minghao 2022-04-25 07:49:40 -07:00
parent 76a9ff06b6
commit 2fa176a49d
1 changed files with 14 additions and 0 deletions

View File

@ -457,6 +457,20 @@ SSyncNode* syncNodeOpen(const SSyncInfo* pSyncInfo) {
void syncNodeStart(SSyncNode* pSyncNode) { void syncNodeStart(SSyncNode* pSyncNode) {
// start raft // start raft
if (pSyncNode->replicaNum == 1) {
syncNodeBecomeLeader(pSyncNode);
syncNodeLog2("==state change become leader immediately==", pSyncNode);
// Raft 3.6.2 Committing entries from previous terms
// use this now
syncNodeAppendNoop(pSyncNode);
syncMaybeAdvanceCommitIndex(pSyncNode); // maybe only one replica
return;
}
syncNodeBecomeFollower(pSyncNode); syncNodeBecomeFollower(pSyncNode);
// for test // for test