From 85befa10b99c57b253991b910879c08f470475cb Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Fri, 27 Oct 2023 14:12:06 +0800 Subject: [PATCH] fix(stream): avoid clear the restart flag . --- source/libs/stream/src/streamMeta.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/libs/stream/src/streamMeta.c b/source/libs/stream/src/streamMeta.c index 9fa29bdbeb..eb4fe3a498 100644 --- a/source/libs/stream/src/streamMeta.c +++ b/source/libs/stream/src/streamMeta.c @@ -211,7 +211,7 @@ SStreamMeta* streamMetaOpen(const char* path, void* ahandle, FTaskExpand expandF stage); return pMeta; -_err: + _err: taosMemoryFree(pMeta->path); if (pMeta->pTasksMap) taosHashCleanup(pMeta->pTasksMap); if (pMeta->pTaskList) taosArrayDestroy(pMeta->pTaskList); @@ -228,8 +228,12 @@ _err: } int32_t streamMetaReopen(SStreamMeta* pMeta) { + // backup the restart flag + int32_t restartFlag = pMeta->startInfo.startedAfterNodeUpdate; streamMetaClear(pMeta); + pMeta->startInfo.startedAfterNodeUpdate = restartFlag; + // NOTE: role should not be changed during reopen meta pMeta->streamBackendRid = -1; pMeta->streamBackend = NULL; @@ -1103,4 +1107,5 @@ void streamMetaInitForSnode(SStreamMeta* pMeta) { void streamMetaResetStartInfo(STaskStartInfo* pStartInfo) { taosHashClear(pStartInfo->pReadyTaskSet); pStartInfo->startedAfterNodeUpdate = 0; + pStartInfo->readyTs = 0; } \ No newline at end of file