From 403f6085d57b4544f36ad57e37af7ecfbdfd5811 Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Wed, 1 Jun 2022 15:52:09 +0800 Subject: [PATCH] refactor: review syncNodeRequestVotePeersSnapshot --- source/libs/sync/src/syncMain.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/libs/sync/src/syncMain.c b/source/libs/sync/src/syncMain.c index a41c1a57c3..f4696cd019 100644 --- a/source/libs/sync/src/syncMain.c +++ b/source/libs/sync/src/syncMain.c @@ -1273,16 +1273,20 @@ int32_t syncNodeGetLastIndexTerm(SSyncNode* pSyncNode, SyncIndex* pLastIndex, Sy } else if (logLastIndex == snapshotLastIndex) { *pLastIndex = snapshotLastIndex; *pLastTerm = snapshot.lastApplyTerm; + } else if (logLastIndex < snapshotLastIndex) { + // maybe wal is deleted + *pLastIndex = snapshotLastIndex; + *pLastTerm = snapshot.lastApplyTerm; } else { ASSERT(0); } - return 0; } // get pre index and term of "index" int32_t syncNodeGetPreIndexTerm(SSyncNode* pSyncNode, SyncIndex index, SyncIndex* pPreIndex, SyncTerm* pPreTerm) { ASSERT(index >= SYNC_INDEX_BEGIN); + ASSERT(!syncNodeIsIndexInSnapshot(pSyncNode, index)); int ret = 0; SyncIndex preIndex = index - 1;