diff --git a/source/dnode/vnode/src/tq/tqOffset.c b/source/dnode/vnode/src/tq/tqOffset.c index 42b42286fb..453327c518 100644 --- a/source/dnode/vnode/src/tq/tqOffset.c +++ b/source/dnode/vnode/src/tq/tqOffset.c @@ -82,7 +82,11 @@ int32_t tqOffsetRestoreFromFile(STQ* pTq, char* name) { void *pIter = NULL; while ((pIter = taosHashIterate(pTq->pOffset, pIter))) { STqOffset* pOffset = (STqOffset*)pIter; - tqMetaSaveOffset(pTq, pOffset); + code = tqMetaSaveOffset(pTq, pOffset); + if(code != 0){ + taosHashCancelIterate(pTq->pOffset, pIter); + goto END; + } } END: