fix/TS-5532-set-seperate-thread-update-status-fix-case

This commit is contained in:
dmchen 2024-10-21 06:19:04 +00:00
parent 9d2b4eba5a
commit c454d0f076
2 changed files with 5 additions and 3 deletions

View File

@ -169,7 +169,7 @@ void dmSendStatusReq(SDnodeMgmt *pMgmt) {
dError("failed to lock status info lock");
return;
}
taosArraySwap(req.pVloads, tsVinfo.pVloads);
req.pVloads = tsVinfo.pVloads;
tsVinfo.pVloads = NULL;
if (taosThreadMutexUnlock(&pMgmt->pData->statusInfolock) != 0) {
dError("failed to unlock status info lock");
@ -244,12 +244,14 @@ void dmUpdateStatusInfo(SDnodeMgmt *pMgmt) {
SMonVloadInfo vinfo = {0};
dDebug("begin to get vnode loads");
(*pMgmt->getVnodeLoadsFp)(&vinfo);
dDebug("begin to lock status info");
if (taosThreadMutexLock(&pMgmt->pData->statusInfolock) != 0) {
dError("failed to lock status info lock");
return;
}
if (tsVinfo.pVloads == NULL) {
taosArraySwap(tsVinfo.pVloads, vinfo.pVloads);
tsVinfo.pVloads = vinfo.pVloads;
vinfo.pVloads = NULL;
} else {
taosArrayDestroy(vinfo.pVloads);
vinfo.pVloads = NULL;

View File

@ -73,7 +73,7 @@ static void *dmStatusInfoThreadFp(void *param) {
}
}
}
dDebug("begin to lock status info when thread exit");
if (taosThreadMutexLock(&pMgmt->pData->statusInfolock) != 0) {
dError("failed to lock status info lock");
return NULL;