From 49c6ba55c487ac92e339e85ddd2fb436ee3b9ef2 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 28 Jul 2022 06:56:20 +0000 Subject: [PATCH] fix: vnode snapshot problem --- source/dnode/vnode/src/vnd/vnodeSnapshot.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/source/dnode/vnode/src/vnd/vnodeSnapshot.c b/source/dnode/vnode/src/vnd/vnodeSnapshot.c index ec03801acd..b256ef20fe 100644 --- a/source/dnode/vnode/src/vnd/vnodeSnapshot.c +++ b/source/dnode/vnode/src/vnd/vnodeSnapshot.c @@ -201,7 +201,14 @@ int32_t vnodeSnapWriterOpen(SVnode *pVnode, int64_t sver, int64_t ever, SVSnapWr pWriter->pVnode = pVnode; pWriter->sver = sver; pWriter->ever = ever; - pWriter->commitID = pVnode->state.commitID; + + // commit it + code = vnodeCommit(pVnode); + if (code) goto _err; + + // inc commit ID + pVnode->state.commitID++; + pWriter->commitID; vInfo("vgId:%d vnode snapshot writer opened, sver:%" PRId64 " ever:%" PRId64 " commit id:%" PRId64, TD_VID(pVnode), sver, ever, pWriter->commitID); @@ -247,6 +254,8 @@ int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback, SSnapshot * code = vnodeCommitInfo(dir, &info); if (code) goto _err; + + vnodeBegin(pVnode); } else { ASSERT(0); }