fix: fix mem leak of block data buf
This commit is contained in:
parent
6acbbc3cff
commit
205e3ecf27
|
@ -3233,15 +3233,16 @@ static int32_t saveSourceBlock(STmsSortRowIdInfo* pSortInfo, const SSDataBlock*
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
blockDataToBuf(buf, pSrcBlock);
|
blockDataToBuf(buf, pSrcBlock);
|
||||||
*pSzBlk = szBlk;
|
|
||||||
|
|
||||||
taosLSeekFile(pSortInfo->dataFile, pSortInfo->dataFileOffset, SEEK_SET);
|
taosLSeekFile(pSortInfo->dataFile, pSortInfo->dataFileOffset, SEEK_SET);
|
||||||
taosWriteFile(pSortInfo->dataFile, buf, szBlk);
|
taosWriteFile(pSortInfo->dataFile, buf, szBlk);
|
||||||
|
taosMemoryFree(buf);
|
||||||
|
|
||||||
STmsSortBlockInfo info = {.blkId = pSortInfo->blkId
|
STmsSortBlockInfo info = {.blkId = pSortInfo->blkId
|
||||||
, .offset = pSortInfo->dataFileOffset, .length = szBlk};
|
, .offset = pSortInfo->dataFileOffset, .length = szBlk};
|
||||||
taosLSeekFile(pSortInfo->idxFile, pSortInfo->blkId*sizeof(STmsSortBlockInfo), SEEK_SET);
|
taosLSeekFile(pSortInfo->idxFile, pSortInfo->blkId*sizeof(STmsSortBlockInfo), SEEK_SET);
|
||||||
taosWriteFile(pSortInfo->idxFile, &info, sizeof(info));
|
taosWriteFile(pSortInfo->idxFile, &info, sizeof(info));
|
||||||
|
|
||||||
|
*pSzBlk = szBlk;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -3322,6 +3323,8 @@ static int32_t retrieveSourceBlock(STableMergeScanInfo* pInfo, int32_t blockId,
|
||||||
taosReadFile(pSortInfo->dataFile, buf, blkInfo->length);
|
taosReadFile(pSortInfo->dataFile, buf, blkInfo->length);
|
||||||
SSDataBlock* pBlock = createOneDataBlock(pInfo->pReaderBlock, false);
|
SSDataBlock* pBlock = createOneDataBlock(pInfo->pReaderBlock, false);
|
||||||
blockDataFromBuf(pBlock, buf);
|
blockDataFromBuf(pBlock, buf);
|
||||||
|
taosMemoryFree(buf);
|
||||||
|
|
||||||
*ppBlock = pBlock;
|
*ppBlock = pBlock;
|
||||||
|
|
||||||
taosLRUCacheInsert(pSortInfo->pBlkDataCache, &blockId, sizeof(blockId), pBlock, 1, deleteBlockDataCache,
|
taosLRUCacheInsert(pSortInfo->pBlkDataCache, &blockId, sizeof(blockId), pBlock, 1, deleteBlockDataCache,
|
||||||
|
|
Loading…
Reference in New Issue