Merge pull request #28022 from taosdata/fix/TD-32256

fix: memory leak in group cache issue
This commit is contained in:
Pan Wei 2024-09-23 15:33:07 +08:00 committed by GitHub
commit 5d83ea76dc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 4 deletions

View File

@ -373,8 +373,16 @@ _return:
return code;
}
void freeGcBlkBufInfo(void* ptr) {
SGcBlkBufInfo* pBlk = (SGcBlkBufInfo*)ptr;
taosMemoryFreeClear(pBlk->pBuf);
}
static int32_t addBlkToDirtyBufList(SGroupCacheOperatorInfo* pGCache, SGcDownstreamCtx* pCtx, SGcBlkCacheInfo* pCache, SGcBlkBufInfo* pBufInfo) {
if (0 != taosHashPut(pCache->pDirtyBlk, &pBufInfo->basic.blkId, sizeof(pBufInfo->basic.blkId), pBufInfo, sizeof(*pBufInfo))) {
freeGcBlkBufInfo(pBufInfo);
return TSDB_CODE_OUT_OF_MEMORY;
}
pBufInfo = taosHashGet(pCache->pDirtyBlk, &pBufInfo->basic.blkId, sizeof(pBufInfo->basic.blkId));
@ -1239,10 +1247,6 @@ _return:
return code;
}
void freeGcBlkBufInfo(void* ptr) {
SGcBlkBufInfo* pBlk = (SGcBlkBufInfo*)ptr;
taosMemoryFree(pBlk->pBuf);
}
static int32_t initGroupCacheBlockCache(SGroupCacheOperatorInfo* pInfo) {
SGcBlkCacheInfo* pCache = &pInfo->blkCache;