fix: memory leaks while check mnode state
This commit is contained in:
parent
9eca87aceb
commit
9c426540e7
|
@ -56,6 +56,9 @@ static void mmProcessRpcMsg(SQueueInfo *pInfo, SRpcMsg *pMsg) {
|
||||||
if (IsReq(pMsg) && pMsg->info.handle != NULL && code != TSDB_CODE_ACTION_IN_PROGRESS) {
|
if (IsReq(pMsg) && pMsg->info.handle != NULL && code != TSDB_CODE_ACTION_IN_PROGRESS) {
|
||||||
if (code != 0 && terrno != 0) code = terrno;
|
if (code != 0 && terrno != 0) code = terrno;
|
||||||
mmSendRsp(pMsg, code);
|
mmSendRsp(pMsg, code);
|
||||||
|
} else {
|
||||||
|
rpcFreeCont(pMsg->info.rsp);
|
||||||
|
pMsg->info.rsp = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (code == TSDB_CODE_RPC_REDIRECT) {
|
if (code == TSDB_CODE_RPC_REDIRECT) {
|
||||||
|
|
|
@ -577,9 +577,9 @@ static int32_t mndCheckMnodeState(SRpcMsg *pMsg) {
|
||||||
|
|
||||||
int32_t contLen = tSerializeSEpSet(NULL, 0, &epSet);
|
int32_t contLen = tSerializeSEpSet(NULL, 0, &epSet);
|
||||||
pMsg->info.rsp = rpcMallocCont(contLen);
|
pMsg->info.rsp = rpcMallocCont(contLen);
|
||||||
pMsg->info.hasEpSet = 1;
|
|
||||||
if (pMsg->info.rsp != NULL) {
|
if (pMsg->info.rsp != NULL) {
|
||||||
tSerializeSEpSet(pMsg->info.rsp, contLen, &epSet);
|
tSerializeSEpSet(pMsg->info.rsp, contLen, &epSet);
|
||||||
|
pMsg->info.hasEpSet = 1;
|
||||||
pMsg->info.rspLen = contLen;
|
pMsg->info.rspLen = contLen;
|
||||||
terrno = TSDB_CODE_RPC_REDIRECT;
|
terrno = TSDB_CODE_RPC_REDIRECT;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -44,7 +44,13 @@ int32_t tmsgSendReq(const SEpSet* epSet, SRpcMsg* pMsg) {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tmsgSendRsp(SRpcMsg* pMsg) { return (*defaultMsgCb.sendRspFp)(pMsg); }
|
void tmsgSendRsp(SRpcMsg* pMsg) {
|
||||||
|
#if 1
|
||||||
|
rpcSendResponse(pMsg);
|
||||||
|
#else
|
||||||
|
return (*defaultMsgCb.sendRspFp)(pMsg);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void tmsgSendRedirectRsp(SRpcMsg* pMsg, const SEpSet* pNewEpSet) { (*defaultMsgCb.sendRedirectRspFp)(pMsg, pNewEpSet); }
|
void tmsgSendRedirectRsp(SRpcMsg* pMsg, const SEpSet* pNewEpSet) { (*defaultMsgCb.sendRedirectRspFp)(pMsg, pNewEpSet); }
|
||||||
|
|
||||||
|
|
|
@ -462,8 +462,6 @@ static void uvStartSendResp(SSvrMsg* smsg) {
|
||||||
if (pConn->broken == true) {
|
if (pConn->broken == true) {
|
||||||
// persist by
|
// persist by
|
||||||
destroySmsg(smsg);
|
destroySmsg(smsg);
|
||||||
// transFreeMsg(smsg->msg.pCont);
|
|
||||||
// taosMemoryFree(smsg);
|
|
||||||
transUnrefSrvHandle(pConn);
|
transUnrefSrvHandle(pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1234,7 +1232,9 @@ int transReleaseSrvHandle(void* handle) {
|
||||||
m->type = Release;
|
m->type = Release;
|
||||||
|
|
||||||
tTrace("%s conn %p start to release", transLabel(pThrd->pTransInst), exh->handle);
|
tTrace("%s conn %p start to release", transLabel(pThrd->pTransInst), exh->handle);
|
||||||
transAsyncSend(pThrd->asyncPool, &m->q);
|
if (0 != transAsyncSend(pThrd->asyncPool, &m->q)) {
|
||||||
|
destroySmsg(m);
|
||||||
|
}
|
||||||
|
|
||||||
transReleaseExHandle(transGetRefMgt(), refId);
|
transReleaseExHandle(transGetRefMgt(), refId);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1269,7 +1269,9 @@ int transSendResponse(const STransMsg* msg) {
|
||||||
|
|
||||||
STraceId* trace = (STraceId*)&msg->info.traceId;
|
STraceId* trace = (STraceId*)&msg->info.traceId;
|
||||||
tGTrace("conn %p start to send resp (1/2)", exh->handle);
|
tGTrace("conn %p start to send resp (1/2)", exh->handle);
|
||||||
transAsyncSend(pThrd->asyncPool, &m->q);
|
if (0 != transAsyncSend(pThrd->asyncPool, &m->q)) {
|
||||||
|
destroySmsg(m);
|
||||||
|
}
|
||||||
|
|
||||||
transReleaseExHandle(transGetRefMgt(), refId);
|
transReleaseExHandle(transGetRefMgt(), refId);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1303,7 +1305,9 @@ int transRegisterMsg(const STransMsg* msg) {
|
||||||
|
|
||||||
STrans* pTransInst = pThrd->pTransInst;
|
STrans* pTransInst = pThrd->pTransInst;
|
||||||
tTrace("%s conn %p start to register brokenlink callback", transLabel(pTransInst), exh->handle);
|
tTrace("%s conn %p start to register brokenlink callback", transLabel(pTransInst), exh->handle);
|
||||||
transAsyncSend(pThrd->asyncPool, &m->q);
|
if (0 != transAsyncSend(pThrd->asyncPool, &m->q)) {
|
||||||
|
destroySmsg(m);
|
||||||
|
}
|
||||||
|
|
||||||
transReleaseExHandle(transGetRefMgt(), refId);
|
transReleaseExHandle(transGetRefMgt(), refId);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
,,y,script,./test.sh -f tsim/dnode/redistribute_vgroup_replica3_v2.sim
|
,,y,script,./test.sh -f tsim/dnode/redistribute_vgroup_replica3_v2.sim
|
||||||
,,y,script,./test.sh -f tsim/dnode/redistribute_vgroup_replica3_v3.sim
|
,,y,script,./test.sh -f tsim/dnode/redistribute_vgroup_replica3_v3.sim
|
||||||
,,y,script,./test.sh -f tsim/dnode/vnode_clean.sim
|
,,y,script,./test.sh -f tsim/dnode/vnode_clean.sim
|
||||||
,,,script,./test.sh -f tsim/dnode/use_dropped_dnode.sim
|
,,y,script,./test.sh -f tsim/dnode/use_dropped_dnode.sim
|
||||||
,,y,script,./test.sh -f tsim/dnode/split_vgroup_replica1.sim
|
,,y,script,./test.sh -f tsim/dnode/split_vgroup_replica1.sim
|
||||||
,,y,script,./test.sh -f tsim/dnode/split_vgroup_replica3.sim
|
,,y,script,./test.sh -f tsim/dnode/split_vgroup_replica3.sim
|
||||||
,,y,script,./test.sh -f tsim/import/basic.sim
|
,,y,script,./test.sh -f tsim/import/basic.sim
|
||||||
|
@ -176,11 +176,11 @@
|
||||||
,,y,script,./test.sh -f tsim/query/udf.sim
|
,,y,script,./test.sh -f tsim/query/udf.sim
|
||||||
,,y,script,./test.sh -f tsim/qnode/basic1.sim
|
,,y,script,./test.sh -f tsim/qnode/basic1.sim
|
||||||
,,y,script,./test.sh -f tsim/snode/basic1.sim
|
,,y,script,./test.sh -f tsim/snode/basic1.sim
|
||||||
,,,script,./test.sh -f tsim/mnode/basic1.sim
|
,,y,script,./test.sh -f tsim/mnode/basic1.sim
|
||||||
,,,script,./test.sh -f tsim/mnode/basic2.sim
|
,,y,script,./test.sh -f tsim/mnode/basic2.sim
|
||||||
,,,script,./test.sh -f tsim/mnode/basic3.sim
|
,,y,script,./test.sh -f tsim/mnode/basic3.sim
|
||||||
,,,script,./test.sh -f tsim/mnode/basic4.sim
|
,,y,script,./test.sh -f tsim/mnode/basic4.sim
|
||||||
,,,script,./test.sh -f tsim/mnode/basic5.sim
|
,,y,script,./test.sh -f tsim/mnode/basic5.sim
|
||||||
,,y,script,./test.sh -f tsim/show/basic.sim
|
,,y,script,./test.sh -f tsim/show/basic.sim
|
||||||
,,y,script,./test.sh -f tsim/table/autocreate.sim
|
,,y,script,./test.sh -f tsim/table/autocreate.sim
|
||||||
,,y,script,./test.sh -f tsim/table/basic1.sim
|
,,y,script,./test.sh -f tsim/table/basic1.sim
|
||||||
|
@ -291,7 +291,7 @@
|
||||||
,,n,script,./test.sh -f tsim/valgrind/checkError7.sim
|
,,n,script,./test.sh -f tsim/valgrind/checkError7.sim
|
||||||
,,n,script,./test.sh -f tsim/valgrind/checkError8.sim
|
,,n,script,./test.sh -f tsim/valgrind/checkError8.sim
|
||||||
,,n,script,./test.sh -f tsim/valgrind/checkUdf.sim
|
,,n,script,./test.sh -f tsim/valgrind/checkUdf.sim
|
||||||
,,,script,./test.sh -f tsim/vnode/replica3_basic.sim
|
,,y,script,./test.sh -f tsim/vnode/replica3_basic.sim
|
||||||
,,y,script,./test.sh -f tsim/vnode/replica3_repeat.sim
|
,,y,script,./test.sh -f tsim/vnode/replica3_repeat.sim
|
||||||
,,y,script,./test.sh -f tsim/vnode/replica3_vgroup.sim
|
,,y,script,./test.sh -f tsim/vnode/replica3_vgroup.sim
|
||||||
,,y,script,./test.sh -f tsim/vnode/replica3_many.sim
|
,,y,script,./test.sh -f tsim/vnode/replica3_many.sim
|
||||||
|
|
|
@ -138,10 +138,10 @@ while $i < 10
|
||||||
if $data[0][4] != leader then
|
if $data[0][4] != leader then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data[0][6] != follower then
|
if $data[0][6] == leader then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data[0][8] != follower then
|
if $data[0][8] == leader then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
endw
|
endw
|
||||||
|
|
Loading…
Reference in New Issue