From fddd6657bc1ce9731c613f60ee7779a41339dca4 Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Mon, 24 Oct 2022 14:51:45 +0800 Subject: [PATCH] fix(sync): add error log when pState is NULL --- source/libs/sync/src/syncMain.c | 2 ++ source/libs/sync/src/syncReplication.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/source/libs/sync/src/syncMain.c b/source/libs/sync/src/syncMain.c index dcc9e2ee2f..1f24c7c403 100644 --- a/source/libs/sync/src/syncMain.c +++ b/source/libs/sync/src/syncMain.c @@ -337,6 +337,7 @@ char* syncNodePeerState2Str(const SSyncNode* pSyncNode) { for (int32_t i = 0; i < pSyncNode->replicaNum; ++i) { SPeerState* pState = syncNodeGetPeerState((SSyncNode*)pSyncNode, &(pSyncNode->replicasId[i])); if (pState == NULL) { + sError("vgId:%d, replica maybe dropped", pSyncNode->vgId); break; } @@ -3497,6 +3498,7 @@ SPeerState* syncNodeGetPeerState(SSyncNode* ths, const SRaftId* pDestId) { bool syncNodeNeedSendAppendEntries(SSyncNode* ths, const SRaftId* pDestId, const SyncAppendEntries* pMsg) { SPeerState* pState = syncNodeGetPeerState(ths, pDestId); if (pState == NULL) { + sError("vgId:%d, replica maybe dropped", ths->vgId); return false; } diff --git a/source/libs/sync/src/syncReplication.c b/source/libs/sync/src/syncReplication.c index e040310e15..7296e30e02 100644 --- a/source/libs/sync/src/syncReplication.c +++ b/source/libs/sync/src/syncReplication.c @@ -163,7 +163,10 @@ int32_t syncNodeSendAppendEntries(SSyncNode* pSyncNode, const SRaftId* destRaftI syncNodeSendMsgById(destRaftId, pSyncNode, &rpcMsg); SPeerState* pState = syncNodeGetPeerState(pSyncNode, destRaftId); - ASSERT(pState != NULL); + if (pState == NULL) { + sError("vgId:%d, replica maybe dropped", pSyncNode->vgId); + return 0; + } if (pMsg->dataLen > 0) { pState->lastSendIndex = pMsg->prevLogIndex + 1;