diff --git a/include/common/common.h b/include/common/common.h index 16a691c3389298ea19589b1b8e8cace3f272e565..bad9adedf573eb3307239c9e98af772f1a7ef139 100644 --- a/include/common/common.h +++ b/include/common/common.h @@ -188,7 +188,7 @@ static FORCE_INLINE void tDeleteSSDataBlock(SSDataBlock* pBlock) { taosArrayDestroy(pBlock->pDataBlock); tfree(pBlock->pBlockAgg); - tfree(pBlock); + //tfree(pBlock); } @@ -199,10 +199,12 @@ static FORCE_INLINE void tDeleteSMqConsumeRsp(SMqConsumeRsp* pRsp) { } free(pRsp->schemas); } - for (int i = 0; i < taosArrayGetSize(pRsp->pBlockData); i++) { - SSDataBlock* pDataBlock = (SSDataBlock*)taosArrayGet(pRsp->pBlockData, i); - tDeleteSSDataBlock(pDataBlock); - } + taosArrayDestroyEx(pRsp->pBlockData, (void(*)(void*))tDeleteSSDataBlock); + pRsp->pBlockData = NULL; + //for (int i = 0; i < taosArrayGetSize(pRsp->pBlockData); i++) { + //SSDataBlock* pDataBlock = (SSDataBlock*)taosArrayGet(pRsp->pBlockData, i); + //tDeleteSSDataBlock(pDataBlock); + //} } //====================================================================================================================== diff --git a/source/dnode/vnode/src/tq/tq.c b/source/dnode/vnode/src/tq/tq.c index 729971058680bc7989de62354e4055f5ec6cf940..139120a46d7ccd11143ad7713ef244de3cd3cd7f 100644 --- a/source/dnode/vnode/src/tq/tq.c +++ b/source/dnode/vnode/src/tq/tq.c @@ -786,11 +786,13 @@ int32_t tqProcessConsumeReq(STQ* pTq, SRpcMsg* pMsg) { void* abuf = buf; tEncodeSMqConsumeRsp(&abuf, &rsp); if (rsp.pBlockData) { - for (int i = 0; i < taosArrayGetSize(rsp.pBlockData); i++) { - SSDataBlock* pBlock = taosArrayGet(rsp.pBlockData, i); - tDeleteSSDataBlock(pBlock); - } - free(rsp.pBlockData); + taosArrayDestroyEx(rsp.pBlockData, (void(*)(void*))tDeleteSSDataBlock); + rsp.pBlockData = NULL; + /*for (int i = 0; i < taosArrayGetSize(rsp.pBlockData); i++) {*/ + /*SSDataBlock* pBlock = taosArrayGet(rsp.pBlockData, i);*/ + /*tDeleteSSDataBlock(pBlock);*/ + /*}*/ + /*taosArrayDestroy(rsp.pBlockData);*/ } pMsg->pCont = buf; pMsg->contLen = tlen;