From 2fa176a49d92bf8ad1e98a472b241b245a44f45e Mon Sep 17 00:00:00 2001 From: Li Minghao Date: Mon, 25 Apr 2022 07:49:40 -0700 Subject: [PATCH] when 1 replica, become leader immediately --- source/libs/sync/src/syncMain.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/libs/sync/src/syncMain.c b/source/libs/sync/src/syncMain.c index a3068d69a9..262c9d5530 100644 --- a/source/libs/sync/src/syncMain.c +++ b/source/libs/sync/src/syncMain.c @@ -457,6 +457,20 @@ SSyncNode* syncNodeOpen(const SSyncInfo* pSyncInfo) { void syncNodeStart(SSyncNode* pSyncNode) { // 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); // for test