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

This commit is contained in:
dmchen 2024-10-18 07:51:52 +00:00
parent 6fa8557e99
commit 9ef4e45171
3 changed files with 6 additions and 6 deletions

View File

@ -165,11 +165,11 @@ void dmSendStatusReq(SDnodeMgmt *pMgmt) {
(void)taosThreadRwlockUnlock(&pMgmt->pData->lock); (void)taosThreadRwlockUnlock(&pMgmt->pData->lock);
dDebug("send status req to mnode, statusSeq:%d, begin to get vnode loads", pMgmt->statusSeq); dDebug("send status req to mnode, statusSeq:%d, begin to get vnode loads", pMgmt->statusSeq);
(void)taosThreadRwlockRdlock(&pMgmt->pData->statusInfolock); (void)taosThreadMutexLock(&pMgmt->pData->statusInfolock);
req.pVloads = taosArrayDup(tsVinfo.pVloads, NULL); req.pVloads = taosArrayDup(tsVinfo.pVloads, NULL);
taosArrayDestroy(tsVinfo.pVloads); taosArrayDestroy(tsVinfo.pVloads);
tsVinfo.pVloads = NULL; tsVinfo.pVloads = NULL;
(void)taosThreadRwlockUnlock(&pMgmt->pData->statusInfolock); (void)taosThreadMutexUnlock(&pMgmt->pData->statusInfolock);
dDebug("send status req to mnode, statusSeq:%d, begin to get mnode loads", pMgmt->statusSeq); dDebug("send status req to mnode, statusSeq:%d, begin to get mnode loads", pMgmt->statusSeq);
SMonMloadInfo minfo = {0}; SMonMloadInfo minfo = {0};
@ -239,10 +239,10 @@ 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);
(void)taosThreadRwlockWrlock(&pMgmt->pData->statusInfolock); (void)taosThreadMutexLock(&pMgmt->pData->statusInfolock);
if (tsVinfo.pVloads == NULL) tsVinfo.pVloads = taosArrayDup(vinfo.pVloads, NULL); if (tsVinfo.pVloads == NULL) tsVinfo.pVloads = taosArrayDup(vinfo.pVloads, NULL);
taosArrayDestroy(vinfo.pVloads); taosArrayDestroy(vinfo.pVloads);
(void)taosThreadRwlockWrlock(&pMgmt->pData->statusInfolock); (void)taosThreadMutexUnlock(&pMgmt->pData->statusInfolock);
} }
void dmSendNotifyReq(SDnodeMgmt *pMgmt, SNotifyReq *pReq) { void dmSendNotifyReq(SDnodeMgmt *pMgmt, SNotifyReq *pReq) {

View File

@ -214,7 +214,7 @@ int32_t dmInitVars(SDnode *pDnode) {
} }
(void)taosThreadRwlockInit(&pData->lock, NULL); (void)taosThreadRwlockInit(&pData->lock, NULL);
(void)taosThreadRwlockInit(&pData->statusInfolock, NULL); (void)taosThreadMutexInit(&pData->statusInfolock, NULL);
(void)taosThreadMutexInit(&pDnode->mutex, NULL); (void)taosThreadMutexInit(&pDnode->mutex, NULL);
return 0; return 0;
} }

View File

@ -144,7 +144,7 @@ typedef struct {
char machineId[TSDB_MACHINE_ID_LEN + 1]; char machineId[TSDB_MACHINE_ID_LEN + 1];
EEncryptAlgor encryptAlgorigthm; EEncryptAlgor encryptAlgorigthm;
EEncryptScope encryptScope; EEncryptScope encryptScope;
TdThreadRwlock statusInfolock; TdThreadMutex statusInfolock;
} SDnodeData; } SDnodeData;
typedef struct { typedef struct {