fix/TS-5532-set-seperate-thread-update-status-fix-case
This commit is contained in:
parent
f82cd9e2da
commit
7050277360
|
@ -169,7 +169,7 @@ void dmSendStatusReq(SDnodeMgmt *pMgmt) {
|
||||||
dError("failed to lock status info lock");
|
dError("failed to lock status info lock");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
taosArraySwap(req.pVloads, tsVinfo.pVloads);
|
req.pVloads = tsVinfo.pVloads;
|
||||||
tsVinfo.pVloads = NULL;
|
tsVinfo.pVloads = NULL;
|
||||||
if (taosThreadMutexUnlock(&pMgmt->pData->statusInfolock) != 0) {
|
if (taosThreadMutexUnlock(&pMgmt->pData->statusInfolock) != 0) {
|
||||||
dError("failed to unlock status info lock");
|
dError("failed to unlock status info lock");
|
||||||
|
@ -244,12 +244,14 @@ void dmUpdateStatusInfo(SDnodeMgmt *pMgmt) {
|
||||||
SMonVloadInfo vinfo = {0};
|
SMonVloadInfo vinfo = {0};
|
||||||
dDebug("begin to get vnode loads");
|
dDebug("begin to get vnode loads");
|
||||||
(*pMgmt->getVnodeLoadsFp)(&vinfo);
|
(*pMgmt->getVnodeLoadsFp)(&vinfo);
|
||||||
|
dDebug("begin to lock status info");
|
||||||
if (taosThreadMutexLock(&pMgmt->pData->statusInfolock) != 0) {
|
if (taosThreadMutexLock(&pMgmt->pData->statusInfolock) != 0) {
|
||||||
dError("failed to lock status info lock");
|
dError("failed to lock status info lock");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (tsVinfo.pVloads == NULL) {
|
if (tsVinfo.pVloads == NULL) {
|
||||||
taosArraySwap(tsVinfo.pVloads, vinfo.pVloads);
|
tsVinfo.pVloads = vinfo.pVloads;
|
||||||
|
vinfo.pVloads = NULL;
|
||||||
} else {
|
} else {
|
||||||
taosArrayDestroy(vinfo.pVloads);
|
taosArrayDestroy(vinfo.pVloads);
|
||||||
vinfo.pVloads = NULL;
|
vinfo.pVloads = NULL;
|
||||||
|
|
|
@ -73,7 +73,7 @@ static void *dmStatusInfoThreadFp(void *param) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
dDebug("begin to lock status info when thread exit");
|
||||||
if (taosThreadMutexLock(&pMgmt->pData->statusInfolock) != 0) {
|
if (taosThreadMutexLock(&pMgmt->pData->statusInfolock) != 0) {
|
||||||
dError("failed to lock status info lock");
|
dError("failed to lock status info lock");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue