[TD-586] fqdn returned by mnode may be null
This commit is contained in:
parent
6cd6944755
commit
baf9de922c
|
@ -414,15 +414,35 @@ static void dnodeProcessStatusRsp(SRpcMsg *pMsg) {
|
|||
|
||||
dnodeProcessModuleStatus(pCfg->moduleStatus);
|
||||
dnodeUpdateDnodeCfg(pCfg);
|
||||
|
||||
dnodeUpdateMnodeInfos(pMnodes);
|
||||
taosTmrReset(dnodeSendStatusMsg, tsStatusInterval * 1000, NULL, tsDnodeTmr, &tsStatusTimer);
|
||||
}
|
||||
|
||||
static bool dnodeCheckMnodeInfos(SDMMnodeInfos *pMnodes) {
|
||||
if (pMnodes->nodeNum <= 0 || pMnodes->nodeNum > 3) {
|
||||
dError("invalid mnode infos, num:%d", pMnodes->nodeNum);
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int32_t i = 0; i < pMnodes->nodeNum; ++i) {
|
||||
SDMMnodeInfo *pMnodeInfo = &pMnodes->nodeInfos[i];
|
||||
if (pMnodeInfo->nodeId <= 0 || strlen(pMnodeInfo->nodeEp) <= 5) {
|
||||
dError("invalid mnode info:%d, nodeId:%d nodeEp:%s", pMnodeInfo->nodeId, pMnodeInfo->nodeEp);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void dnodeUpdateMnodeInfos(SDMMnodeInfos *pMnodes) {
|
||||
bool mnodesChanged = (memcmp(&tsDMnodeInfos, pMnodes, sizeof(SDMMnodeInfos)) != 0);
|
||||
bool mnodesNotInit = (tsDMnodeInfos.nodeNum == 0);
|
||||
if (!(mnodesChanged || mnodesNotInit)) return;
|
||||
|
||||
if (!dnodeCheckMnodeInfos(pMnodes)) return;
|
||||
|
||||
memcpy(&tsDMnodeInfos, pMnodes, sizeof(SDMMnodeInfos));
|
||||
dPrint("mnode infos is changed, nodeNum:%d inUse:%d", tsDMnodeInfos.nodeNum, tsDMnodeInfos.inUse);
|
||||
for (int32_t i = 0; i < tsDMnodeInfos.nodeNum; i++) {
|
||||
|
|
Loading…
Reference in New Issue