From 3148df2107512f3ea5af772d12f16d7fe2f13b2e Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Thu, 9 Jun 2022 17:16:06 +0800 Subject: [PATCH] fix(sync): compatibility for both mnode(use snapshot) and vnode(no snapshot) --- source/libs/sync/src/syncMain.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/libs/sync/src/syncMain.c b/source/libs/sync/src/syncMain.c index bdf89a8914..9516df64da 100644 --- a/source/libs/sync/src/syncMain.c +++ b/source/libs/sync/src/syncMain.c @@ -1215,13 +1215,14 @@ void syncNodeBecomeLeader(SSyncNode* pSyncNode) { // update sender private term SSyncSnapshotSender* pMySender = syncNodeGetSnapshotSender(pSyncNode, &(pSyncNode->myRaftId)); - ASSERT(pMySender != NULL); - for (int i = 0; i < pSyncNode->pMatchIndex->replicaNum; ++i) { - if ((pSyncNode->senders)[i]->privateTerm > pMySender->privateTerm) { - pMySender->privateTerm = (pSyncNode->senders)[i]->privateTerm; + if (pMySender != NULL) { + for (int i = 0; i < pSyncNode->pMatchIndex->replicaNum; ++i) { + if ((pSyncNode->senders)[i]->privateTerm > pMySender->privateTerm) { + pMySender->privateTerm = (pSyncNode->senders)[i]->privateTerm; + } } + (pMySender->privateTerm) += 100; } - (pMySender->privateTerm) += 100; // stop elect timer syncNodeStopElectTimer(pSyncNode); -- GitLab