diff --git a/source/dnode/vnode/src/tsdb/tsdbMergeTree.c b/source/dnode/vnode/src/tsdb/tsdbMergeTree.c index 918f2763b1..7301338438 100644 --- a/source/dnode/vnode/src/tsdb/tsdbMergeTree.c +++ b/source/dnode/vnode/src/tsdb/tsdbMergeTree.c @@ -75,6 +75,12 @@ void getLastBlockLoadInfo(SSttBlockLoadInfo *pLoadInfo, int64_t *blocks, double } } +static void freeTombBlock(void* param) { + STombBlock** pTombBlock = (STombBlock**) param; + tTombBlockDestroy(*pTombBlock); + taosMemoryFree(*pTombBlock); +} + void *destroyLastBlockLoadInfo(SSttBlockLoadInfo *pLoadInfo) { if (pLoadInfo == NULL) { return NULL; @@ -91,6 +97,8 @@ void *destroyLastBlockLoadInfo(SSttBlockLoadInfo *pLoadInfo) { taosArrayDestroy(pLoadInfo[i].aSttBlk); } + taosArrayDestroyEx(pLoadInfo->pTombBlockArray, freeTombBlock); + taosMemoryFree(pLoadInfo); return NULL; } diff --git a/source/dnode/vnode/src/tsdb/tsdbRead2.c b/source/dnode/vnode/src/tsdb/tsdbRead2.c index 71922e82cc..ab0ff0d8ec 100644 --- a/source/dnode/vnode/src/tsdb/tsdbRead2.c +++ b/source/dnode/vnode/src/tsdb/tsdbRead2.c @@ -566,7 +566,7 @@ static int32_t initFilesetIterator(SFilesetIter* pIter, TFileSetArray* pFileSetA if (pLReader->pInfo == NULL) { // here we ignore the first column, which is always be the primary timestamp column SBlockLoadSuppInfo* pInfo = &pReader->suppInfo; - + // todo dynamic number of stt int32_t numOfStt = pReader->pTsdb->pVnode->config.sttTrigger; pLReader->pInfo = tCreateLastBlockLoadInfo(pReader->pSchema, &pInfo->colId[1], pInfo->numOfCols - 1, numOfStt); if (pLReader->pInfo == NULL) {