From 0073366f0051b790d1873e5ef9155adf14c8c31e Mon Sep 17 00:00:00 2001 From: Jeff Tao Date: Wed, 29 Jul 2020 13:46:09 +0000 Subject: [PATCH] make sure quorum is smaller than replica --- src/sync/src/syncMain.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sync/src/syncMain.c b/src/sync/src/syncMain.c index cdbf5ab47d..5455529f62 100644 --- a/src/sync/src/syncMain.c +++ b/src/sync/src/syncMain.c @@ -145,6 +145,8 @@ void *syncStart(const SSyncInfo *pInfo) pNode->vgId = pInfo->vgId; pNode->replica = pCfg->replica; pNode->quorum = pCfg->quorum; + if (pNode->quorum > pNode->replica) pNode->quorum = pNode->replica; + for (int i = 0; i < pCfg->replica; ++i) { const SNodeInfo *pNodeInfo = pCfg->nodeInfo + i; pNode->peerInfo[i] = syncAddPeer(pNode, pNodeInfo); @@ -260,6 +262,7 @@ int32_t syncReconfig(void *param, const SSyncCfg *pNewCfg) pNode->replica = pNewCfg->replica; pNode->quorum = pNewCfg->quorum; + if (pNode->quorum > pNode->replica) pNode->quorum = pNode->replica; memcpy(pNode->peerInfo, newPeers, sizeof(SSyncPeer *) * pNewCfg->replica); for (i = pNewCfg->replica; i < TAOS_SYNC_MAX_REPLICA; ++i) -- GitLab