fix random_err crash
This commit is contained in:
parent
c41f7fe19d
commit
9201315594
|
@ -22,7 +22,7 @@ static inline int32_t mmAcquire(SMnodeMgmt *pMgmt) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
(void)taosThreadRwlockRdlock(&pMgmt->lock);
|
(void)taosThreadRwlockRdlock(&pMgmt->lock);
|
||||||
if (pMgmt->stopped) {
|
if (pMgmt->stopped) {
|
||||||
code = -1;
|
code = TSDB_CODE_MNODE_NOT_FOUND;
|
||||||
} else {
|
} else {
|
||||||
(void)atomic_add_fetch_32(&pMgmt->refCount, 1);
|
(void)atomic_add_fetch_32(&pMgmt->refCount, 1);
|
||||||
}
|
}
|
||||||
|
@ -134,16 +134,17 @@ int32_t mmPutMsgToReadQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t mmPutMsgToQueryQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) {
|
int32_t mmPutMsgToQueryQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) {
|
||||||
|
int32_t code = 0;
|
||||||
if (NULL == pMgmt->pMnode) {
|
if (NULL == pMgmt->pMnode) {
|
||||||
const STraceId *trace = &pMsg->info.traceId;
|
const STraceId *trace = &pMsg->info.traceId;
|
||||||
dGError("msg:%p, stop to pre-process in mnode since mnode is NULL, type:%s", pMsg, TMSG_INFO(pMsg->msgType));
|
dGError("msg:%p, stop to pre-process in mnode since mnode is NULL, type:%s", pMsg, TMSG_INFO(pMsg->msgType));
|
||||||
return -1;
|
return TSDB_CODE_MND_MNODE_NOT_EXIST;
|
||||||
}
|
}
|
||||||
pMsg->info.node = pMgmt->pMnode;
|
pMsg->info.node = pMgmt->pMnode;
|
||||||
if (mndPreProcessQueryMsg(pMsg) != 0) {
|
if ((code = mndPreProcessQueryMsg(pMsg)) != 0) {
|
||||||
const STraceId *trace = &pMsg->info.traceId;
|
const STraceId *trace = &pMsg->info.traceId;
|
||||||
dGError("msg:%p, failed to pre-process in mnode since %s, type:%s", pMsg, terrstr(), TMSG_INFO(pMsg->msgType));
|
dGError("msg:%p, failed to pre-process in mnode since %s, type:%s", pMsg, terrstr(), TMSG_INFO(pMsg->msgType));
|
||||||
return -1;
|
return code;
|
||||||
}
|
}
|
||||||
return mmPutMsgToWorker(pMgmt, &pMgmt->queryWorker, pMsg);
|
return mmPutMsgToWorker(pMgmt, &pMgmt->queryWorker, pMsg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -961,7 +961,8 @@ static void cliRecvCb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t cliCreateConn(SCliThrd* pThrd, SCliConn** pCliConn) {
|
static int32_t cliCreateConn(SCliThrd* pThrd, SCliConn** pCliConn) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
SCliConn* conn = taosMemoryCalloc(1, sizeof(SCliConn));
|
SCliConn* conn = taosMemoryCalloc(1, sizeof(SCliConn));
|
||||||
if (conn == NULL) {
|
if (conn == NULL) {
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
@ -1017,7 +1018,6 @@ static int32_t cliCreateConn(SCliThrd* pThrd, SCliConn** pCliConn) {
|
||||||
_failed:
|
_failed:
|
||||||
if (conn) {
|
if (conn) {
|
||||||
taosMemoryFree(conn->stream);
|
taosMemoryFree(conn->stream);
|
||||||
transReqQueueClear(&conn->wreqQueue);
|
|
||||||
(void)transDestroyBuffer(&conn->readBuf);
|
(void)transDestroyBuffer(&conn->readBuf);
|
||||||
transQueueDestroy(&conn->cliMsgs);
|
transQueueDestroy(&conn->cliMsgs);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue