fix: response message memory leak
This commit is contained in:
parent
aa82702963
commit
61f0aec698
|
@ -297,6 +297,9 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(usedbRsp.db) == 0) {
|
if (strlen(usedbRsp.db) == 0) {
|
||||||
|
taosMemoryFree(pMsg->pData);
|
||||||
|
taosMemoryFree(pMsg->pEpSet);
|
||||||
|
|
||||||
if (usedbRsp.errCode != 0) {
|
if (usedbRsp.errCode != 0) {
|
||||||
return usedbRsp.errCode;
|
return usedbRsp.errCode;
|
||||||
} else {
|
} else {
|
||||||
|
@ -366,9 +369,15 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t processCreateSTableRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
int32_t processCreateSTableRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
if (pMsg == NULL || param == NULL) {
|
if (pMsg == NULL) {
|
||||||
return TSDB_CODE_TSC_INVALID_INPUT;
|
return TSDB_CODE_TSC_INVALID_INPUT;
|
||||||
}
|
}
|
||||||
|
if (param == NULL) {
|
||||||
|
taosMemoryFree(pMsg->pEpSet);
|
||||||
|
taosMemoryFree(pMsg->pData);
|
||||||
|
return TSDB_CODE_TSC_INVALID_INPUT;
|
||||||
|
}
|
||||||
|
|
||||||
SRequestObj* pRequest = param;
|
SRequestObj* pRequest = param;
|
||||||
|
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
|
|
|
@ -823,15 +823,17 @@ void tmqAssignDelayedCommitTask(void* param, void* tmrId) {
|
||||||
|
|
||||||
int32_t tmqHbCb(void* param, SDataBuf* pMsg, int32_t code) {
|
int32_t tmqHbCb(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
if (code != 0){
|
if (code != 0){
|
||||||
return code;
|
goto _return;
|
||||||
}
|
}
|
||||||
if (pMsg == NULL || param == NULL) {
|
if (pMsg == NULL || param == NULL) {
|
||||||
return TSDB_CODE_INVALID_PARA;
|
code = TSDB_CODE_INVALID_PARA;
|
||||||
|
goto _return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SMqHbRsp rsp = {0};
|
SMqHbRsp rsp = {0};
|
||||||
code = tDeserializeSMqHbRsp(pMsg->pData, pMsg->len, &rsp);
|
code = tDeserializeSMqHbRsp(pMsg->pData, pMsg->len, &rsp);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
return code;
|
goto _return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t refId = (int64_t)param;
|
int64_t refId = (int64_t)param;
|
||||||
|
@ -854,10 +856,14 @@ int32_t tmqHbCb(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
taosWUnLockLatch(&tmq->lock);
|
taosWUnLockLatch(&tmq->lock);
|
||||||
(void)taosReleaseRef(tmqMgmt.rsetId, refId);
|
(void)taosReleaseRef(tmqMgmt.rsetId, refId);
|
||||||
}
|
}
|
||||||
|
|
||||||
tDestroySMqHbRsp(&rsp);
|
tDestroySMqHbRsp(&rsp);
|
||||||
|
|
||||||
|
_return:
|
||||||
|
|
||||||
taosMemoryFree(pMsg->pData);
|
taosMemoryFree(pMsg->pData);
|
||||||
taosMemoryFree(pMsg->pEpSet);
|
taosMemoryFree(pMsg->pEpSet);
|
||||||
return 0;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tmqSendHbReq(void* param, void* tmrId) {
|
void tmqSendHbReq(void* param, void* tmrId) {
|
||||||
|
@ -1504,7 +1510,12 @@ static void setVgIdle(tmq_t* tmq, char* topicName, int32_t vgId) {
|
||||||
int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
|
int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
tmq_t* tmq = NULL;
|
tmq_t* tmq = NULL;
|
||||||
SMqPollCbParam* pParam = (SMqPollCbParam*)param;
|
SMqPollCbParam* pParam = (SMqPollCbParam*)param;
|
||||||
if (pParam == NULL || pMsg == NULL) {
|
if (pMsg == NULL) {
|
||||||
|
return TSDB_CODE_TSC_INTERNAL_ERROR;
|
||||||
|
}
|
||||||
|
if (pParam == NULL) {
|
||||||
|
taosMemoryFreeClear(pMsg->pData);
|
||||||
|
taosMemoryFreeClear(pMsg->pEpSet);
|
||||||
return TSDB_CODE_TSC_INTERNAL_ERROR;
|
return TSDB_CODE_TSC_INTERNAL_ERROR;
|
||||||
}
|
}
|
||||||
int64_t refId = pParam->refId;
|
int64_t refId = pParam->refId;
|
||||||
|
@ -1512,6 +1523,8 @@ int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
uint64_t requestId = pParam->requestId;
|
uint64_t requestId = pParam->requestId;
|
||||||
tmq = taosAcquireRef(tmqMgmt.rsetId, refId);
|
tmq = taosAcquireRef(tmqMgmt.rsetId, refId);
|
||||||
if (tmq == NULL) {
|
if (tmq == NULL) {
|
||||||
|
taosMemoryFreeClear(pMsg->pData);
|
||||||
|
taosMemoryFreeClear(pMsg->pEpSet);
|
||||||
return TSDB_CODE_TMQ_CONSUMER_CLOSED;
|
return TSDB_CODE_TMQ_CONSUMER_CLOSED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2809,7 +2822,10 @@ end:
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t askEpCb(void* param, SDataBuf* pMsg, int32_t code) {
|
int32_t askEpCb(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
if (param == NULL) return code;
|
if (param == NULL) {
|
||||||
|
goto FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
SMqAskEpCbParam* pParam = (SMqAskEpCbParam*)param;
|
SMqAskEpCbParam* pParam = (SMqAskEpCbParam*)param;
|
||||||
tmq_t* tmq = taosAcquireRef(tmqMgmt.rsetId, pParam->refId);
|
tmq_t* tmq = taosAcquireRef(tmqMgmt.rsetId, pParam->refId);
|
||||||
if (tmq == NULL) {
|
if (tmq == NULL) {
|
||||||
|
|
Loading…
Reference in New Issue