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;