diff --git a/src/mnode/src/mgmtDnode.c b/src/mnode/src/mgmtDnode.c index c79b7b9a758b6ad30dd28150af8594ce63058215..cf57b43918fb5fd89665d6aee770007a0768a1d5 100644 --- a/src/mnode/src/mgmtDnode.c +++ b/src/mnode/src/mgmtDnode.c @@ -553,11 +553,14 @@ void mgmtProcessDnodeStatusMsg(SRpcMsg *rpcMsg) { pDnode->privateIp = htonl(pStatus->privateIp); pDnode->publicIp = htonl(pStatus->publicIp); pDnode->lastReboot = htonl(pStatus->lastReboot); - pDnode->numOfTotalVnodes = htons(pStatus->numOfTotalVnodes); pDnode->numOfCores = htons(pStatus->numOfCores); pDnode->diskAvailable = pStatus->diskAvailable; pDnode->alternativeRole = pStatus->alternativeRole; + if (pDnode->numOfTotalVnodes == 0) { + pDnode->numOfTotalVnodes = htons(pStatus->numOfTotalVnodes); + } + if (pStatus->dnodeId == 0) { mTrace("dnode:%d, first access, privateIp:%s, name:%s, ", pDnode->dnodeId, taosIpStr(pDnode->privateIp), pDnode->dnodeName); mgmtSetDnodeMaxVnodes(pDnode);