From 0dfa6c0c6af17c07ff7d8f83d8025b0b14b3d0e0 Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Thu, 16 Jun 2022 19:46:57 +0800 Subject: [PATCH] fix: condition of syncIsReady is wrong --- source/dnode/mnode/impl/src/mndSync.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/dnode/mnode/impl/src/mndSync.c b/source/dnode/mnode/impl/src/mndSync.c index 38b75db027..d71d9b4e72 100644 --- a/source/dnode/mnode/impl/src/mndSync.c +++ b/source/dnode/mnode/impl/src/mndSync.c @@ -263,13 +263,15 @@ void mndSyncStart(SMnode *pMnode) { void mndSyncStop(SMnode *pMnode) { if (pMnode->syncMgmt.transId != 0) { tsem_post(&pMnode->syncMgmt.syncSem); + pMnode->syncMgmt.transId = 0; } } bool mndIsMaster(SMnode *pMnode) { SSyncMgmt *pMgmt = &pMnode->syncMgmt; - if (!syncIsReady(pMgmt->sync)) { + ESyncState state = syncGetMyRole(pMgmt->sync); + if (state != TAOS_SYNC_STATE_LEADER) { terrno = TSDB_CODE_SYN_NOT_LEADER; return false; }