From 6cf9f50c3a150bba080cc091672075002a3254aa Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Tue, 24 May 2022 17:14:12 +0800 Subject: [PATCH] enh(sync): syncStartStandBy --- source/dnode/mnode/impl/inc/mndInt.h | 1 + source/dnode/mnode/impl/src/mndSync.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/source/dnode/mnode/impl/inc/mndInt.h b/source/dnode/mnode/impl/inc/mndInt.h index 5a1653b937..1c400215f9 100644 --- a/source/dnode/mnode/impl/inc/mndInt.h +++ b/source/dnode/mnode/impl/inc/mndInt.h @@ -81,6 +81,7 @@ typedef struct { sem_t syncSem; int64_t sync; ESyncState state; + bool isStandBy; } SSyncMgmt; typedef struct { diff --git a/source/dnode/mnode/impl/src/mndSync.c b/source/dnode/mnode/impl/src/mndSync.c index 4d94527023..a7cda9ea93 100644 --- a/source/dnode/mnode/impl/src/mndSync.c +++ b/source/dnode/mnode/impl/src/mndSync.c @@ -182,7 +182,11 @@ int32_t mndSyncPropose(SMnode *pMnode, SSdbRaw *pRaw) { void mndSyncStart(SMnode *pMnode) { SSyncMgmt *pMgmt = &pMnode->syncMgmt; syncSetMsgCb(pMgmt->sync, &pMnode->msgCb); - syncStart(pMgmt->sync); + if (pMgmt->isStandBy) { + syncStartStandBy(pMgmt->sync); + } else { + syncStart(pMgmt->sync); + } mDebug("sync:%" PRId64 " is started", pMgmt->sync); } -- GitLab