From 114df7c349aee07e907668f9f3938503f6b1414d Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Wed, 16 Aug 2023 11:37:15 +0000 Subject: [PATCH] fix transfer error --- source/dnode/vnode/src/tq/tqStreamStateSnap.c | 3 ++- source/dnode/vnode/src/vnd/vnodeSnapshot.c | 1 + source/libs/stream/src/streamMeta.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/dnode/vnode/src/tq/tqStreamStateSnap.c b/source/dnode/vnode/src/tq/tqStreamStateSnap.c index 2c3a12b50b..aa1d9b0476 100644 --- a/source/dnode/vnode/src/tq/tqStreamStateSnap.c +++ b/source/dnode/vnode/src/tq/tqStreamStateSnap.c @@ -159,7 +159,7 @@ int32_t streamStateSnapWriterClose(SStreamStateWriter* pWriter, int8_t rollback) int32_t code = 0; tqDebug("vgId:%d, vnode stream-state snapshot writer closed", TD_VID(pWriter->pTq->pVnode)); code = streamSnapWriterClose(pWriter->pWriterImpl, rollback); - taosMemoryFree(pWriter); + return code; } int32_t streamStateRebuildFromSnap(SStreamStateWriter* pWriter, int64_t chkpId) { @@ -167,6 +167,7 @@ int32_t streamStateRebuildFromSnap(SStreamStateWriter* pWriter, int64_t chkpId) if (code == 0) { code = streamStateLoadTasks(pWriter); } + taosMemoryFree(pWriter); return code; } diff --git a/source/dnode/vnode/src/vnd/vnodeSnapshot.c b/source/dnode/vnode/src/vnd/vnodeSnapshot.c index abd6ea00a7..bfddeedd78 100644 --- a/source/dnode/vnode/src/vnd/vnodeSnapshot.c +++ b/source/dnode/vnode/src/vnd/vnodeSnapshot.c @@ -420,6 +420,7 @@ int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback, SSnapshot * if (code) goto _exit; code = streamStateRebuildFromSnap(pWriter->pStreamStateWriter, 0); + pWriter->pStreamStateWriter = NULL; if (code) goto _exit; } diff --git a/source/libs/stream/src/streamMeta.c b/source/libs/stream/src/streamMeta.c index e2e95230c6..69b4c39cf3 100644 --- a/source/libs/stream/src/streamMeta.c +++ b/source/libs/stream/src/streamMeta.c @@ -153,7 +153,7 @@ int32_t streamMetaReopen(SStreamMeta* pMeta, int64_t chkpId) { } // close stream backend - streamBackendCleanup(pMeta->streamBackend); + // streamBackendCleanup(pMeta->streamBackend); taosRemoveRef(streamBackendId, pMeta->streamBackendRid); pMeta->streamBackendRid = -1; pMeta->streamBackend = NULL;