[TD-335] fix bug while get mnode ipset
This commit is contained in:
parent
ad721970e3
commit
fe22dcf99b
|
@ -284,7 +284,7 @@ static int32_t dnodeProcessConfigDnodeMsg(SRpcMsg *pMsg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void dnodeUpdateMnodeIpSetForPeer(SRpcIpSet *pIpSet) {
|
void dnodeUpdateMnodeIpSetForPeer(SRpcIpSet *pIpSet) {
|
||||||
dPrint("mnode IP list is changed, numOfIps:%d inUse:%d", pIpSet->numOfIps, pIpSet->inUse);
|
dPrint("mnode IP list for peer is changed, numOfIps:%d inUse:%d", pIpSet->numOfIps, pIpSet->inUse);
|
||||||
for (int i = 0; i < pIpSet->numOfIps; ++i) {
|
for (int i = 0; i < pIpSet->numOfIps; ++i) {
|
||||||
dPrint("mnode index:%d %s:%u", i, pIpSet->fqdn[i], pIpSet->port[i])
|
dPrint("mnode index:%d %s:%u", i, pIpSet->fqdn[i], pIpSet->port[i])
|
||||||
}
|
}
|
||||||
|
@ -344,17 +344,24 @@ static void dnodeUpdateMnodeInfos(SDMMnodeInfos *pMnodes) {
|
||||||
if (!(mnodesChanged || mnodesNotInit)) return;
|
if (!(mnodesChanged || mnodesNotInit)) return;
|
||||||
|
|
||||||
memcpy(&tsDMnodeInfos, pMnodes, sizeof(SDMMnodeInfos));
|
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++) {
|
||||||
|
dPrint("mnode index:%d, %s", tsDMnodeInfos.nodeInfos[i].nodeId, tsDMnodeInfos.nodeInfos[i].nodeEp);
|
||||||
|
}
|
||||||
|
|
||||||
tsDMnodeIpSetForPeer.inUse = tsDMnodeInfos.inUse;
|
tsDMnodeIpSetForPeer.inUse = tsDMnodeInfos.inUse;
|
||||||
tsDMnodeIpSetForPeer.numOfIps = tsDMnodeInfos.nodeNum;
|
tsDMnodeIpSetForPeer.numOfIps = tsDMnodeInfos.nodeNum;
|
||||||
for (int32_t i = 0; i < tsDMnodeInfos.nodeNum; i++) {
|
for (int32_t i = 0; i < tsDMnodeInfos.nodeNum; i++) {
|
||||||
taosGetFqdnPortFromEp(tsDMnodeInfos.nodeInfos[i].nodeEp, tsDMnodeIpSetForPeer.fqdn[i], &tsDMnodeIpSetForPeer.port[i]);
|
taosGetFqdnPortFromEp(tsDMnodeInfos.nodeInfos[i].nodeEp, tsDMnodeIpSetForPeer.fqdn[i], &tsDMnodeIpSetForPeer.port[i]);
|
||||||
tsDMnodeIpSetForPeer.port[i] += TSDB_PORT_DNODEDNODE;
|
tsDMnodeIpSetForPeer.port[i] += TSDB_PORT_DNODEDNODE;
|
||||||
|
dPrint("mnode index:%d, for peer %s %d", i, tsDMnodeIpSetForPeer.fqdn[i], tsDMnodeIpSetForPeer.port[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
dPrint("mnodes is changed, nodeNum:%d inUse:%d", tsDMnodeInfos.nodeNum, tsDMnodeInfos.inUse);
|
tsDMnodeIpSetForShell.inUse = tsDMnodeInfos.inUse;
|
||||||
|
tsDMnodeIpSetForShell.numOfIps = tsDMnodeInfos.nodeNum;
|
||||||
for (int32_t i = 0; i < tsDMnodeInfos.nodeNum; i++) {
|
for (int32_t i = 0; i < tsDMnodeInfos.nodeNum; i++) {
|
||||||
dPrint("mnode:%d, %s", tsDMnodeInfos.nodeInfos[i].nodeId, tsDMnodeInfos.nodeInfos[i].nodeEp);
|
taosGetFqdnPortFromEp(tsDMnodeInfos.nodeInfos[i].nodeEp, tsDMnodeIpSetForShell.fqdn[i], &tsDMnodeIpSetForShell.port[i]);
|
||||||
|
dPrint("mnode index:%d, for shell %s %d", i, tsDMnodeIpSetForShell.fqdn[i], tsDMnodeIpSetForShell.port[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
dnodeSaveMnodeInfos();
|
dnodeSaveMnodeInfos();
|
||||||
|
|
|
@ -33,8 +33,8 @@
|
||||||
|
|
||||||
static void * tsMnodeSdb = NULL;
|
static void * tsMnodeSdb = NULL;
|
||||||
static int32_t tsMnodeUpdateSize = 0;
|
static int32_t tsMnodeUpdateSize = 0;
|
||||||
static SRpcIpSet tsMnodeRpcIpSetForShell;
|
static SRpcIpSet tsMnodeIpSetForShell;
|
||||||
static SRpcIpSet tsMnodeRpcIpSetForPeer;
|
static SRpcIpSet tsMnodeIpSetForPeer;
|
||||||
static SDMMnodeInfos tsMnodeInfos;
|
static SDMMnodeInfos tsMnodeInfos;
|
||||||
static int32_t mnodeGetMnodeMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pConn);
|
static int32_t mnodeGetMnodeMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pConn);
|
||||||
static int32_t mnodeRetrieveMnodes(SShowObj *pShow, char *data, int32_t rows, void *pConn);
|
static int32_t mnodeRetrieveMnodes(SShowObj *pShow, char *data, int32_t rows, void *pConn);
|
||||||
|
@ -202,17 +202,13 @@ char *mnodeGetMnodeRoleStr(int32_t role) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void mnodeUpdateMnodeIpSet() {
|
void mnodeUpdateMnodeIpSet() {
|
||||||
SRpcIpSet *ipSetForShell = &tsMnodeRpcIpSetForShell;
|
|
||||||
SRpcIpSet *ipSetForPeer = &tsMnodeRpcIpSetForPeer;
|
|
||||||
SDMMnodeInfos *mnodes = &tsMnodeInfos;
|
|
||||||
|
|
||||||
mPrint("update mnodes ipset, numOfIps:%d ", mnodeGetMnodesNum());
|
mPrint("update mnodes ipset, numOfIps:%d ", mnodeGetMnodesNum());
|
||||||
|
|
||||||
mnodeMnodeWrLock();
|
mnodeMnodeWrLock();
|
||||||
|
|
||||||
memset(ipSetForShell, 0, sizeof(SRpcIpSet));
|
memset(&tsMnodeIpSetForShell, 0, sizeof(SRpcIpSet));
|
||||||
memset(ipSetForPeer, 0, sizeof(SRpcIpSet));
|
memset(&tsMnodeIpSetForPeer, 0, sizeof(SRpcIpSet));
|
||||||
memset(mnodes, 0, sizeof(SDMMnodeInfos));
|
memset(&tsMnodeInfos, 0, sizeof(SDMMnodeInfos));
|
||||||
|
|
||||||
int32_t index = 0;
|
int32_t index = 0;
|
||||||
void * pIter = NULL;
|
void * pIter = NULL;
|
||||||
|
@ -223,22 +219,24 @@ void mnodeUpdateMnodeIpSet() {
|
||||||
|
|
||||||
SDnodeObj *pDnode = mnodeGetDnode(pMnode->mnodeId);
|
SDnodeObj *pDnode = mnodeGetDnode(pMnode->mnodeId);
|
||||||
if (pDnode != NULL) {
|
if (pDnode != NULL) {
|
||||||
strcpy(ipSetForShell->fqdn[ipSetForShell->numOfIps], pDnode->dnodeFqdn);
|
strcpy(tsMnodeIpSetForShell.fqdn[index], pDnode->dnodeFqdn);
|
||||||
ipSetForShell->port[ipSetForShell->numOfIps] = htons(pDnode->dnodePort);
|
tsMnodeIpSetForShell.port[index] = htons(pDnode->dnodePort);
|
||||||
|
mTrace("mnode:%d, for shell fqdn:%s %d", pDnode->dnodeId, tsMnodeIpSetForShell.fqdn[index], htons(tsMnodeIpSetForShell.port[index]));
|
||||||
|
|
||||||
strcpy(ipSetForPeer->fqdn[ipSetForPeer->numOfIps], pDnode->dnodeFqdn);
|
strcpy(tsMnodeIpSetForPeer.fqdn[index], pDnode->dnodeFqdn);
|
||||||
ipSetForPeer->port[ipSetForPeer->numOfIps] = htons(pDnode->dnodePort + TSDB_PORT_DNODEDNODE);
|
tsMnodeIpSetForPeer.port[index] = htons(pDnode->dnodePort + TSDB_PORT_DNODEDNODE);
|
||||||
|
mTrace("mnode:%d, for peer fqdn:%s %d", pDnode->dnodeId, tsMnodeIpSetForPeer.fqdn[index], htons(tsMnodeIpSetForPeer.port[index]));
|
||||||
|
|
||||||
mnodes->nodeInfos[index].nodeId = htonl(pMnode->mnodeId);
|
tsMnodeInfos.nodeInfos[index].nodeId = htonl(pMnode->mnodeId);
|
||||||
strcpy(mnodes->nodeInfos[index].nodeEp, pDnode->dnodeEp);
|
strcpy(tsMnodeInfos.nodeInfos[index].nodeEp, pDnode->dnodeEp);
|
||||||
|
|
||||||
if (pMnode->role == TAOS_SYNC_ROLE_MASTER) {
|
if (pMnode->role == TAOS_SYNC_ROLE_MASTER) {
|
||||||
ipSetForShell->inUse = index;
|
tsMnodeIpSetForShell.inUse = index;
|
||||||
ipSetForPeer->inUse = index;
|
tsMnodeIpSetForPeer.inUse = index;
|
||||||
mnodes->inUse = index;
|
tsMnodeInfos.inUse = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
mPrint("mnode:%d, ep:%s %s", index, pDnode->dnodeEp, pMnode->role == TAOS_SYNC_ROLE_MASTER ? "master" : "");
|
mPrint("mnode:%d, ep:%s %s", pDnode->dnodeId, pDnode->dnodeEp, pMnode->role == TAOS_SYNC_ROLE_MASTER ? "master" : "");
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -246,9 +244,9 @@ void mnodeUpdateMnodeIpSet() {
|
||||||
mnodeDecMnodeRef(pMnode);
|
mnodeDecMnodeRef(pMnode);
|
||||||
}
|
}
|
||||||
|
|
||||||
mnodes->nodeNum = index;
|
tsMnodeInfos.nodeNum = index;
|
||||||
ipSetForPeer->numOfIps = index;
|
tsMnodeIpSetForShell.numOfIps = index;
|
||||||
ipSetForPeer->numOfIps = index;
|
tsMnodeIpSetForPeer.numOfIps = index;
|
||||||
|
|
||||||
sdbFreeIter(pIter);
|
sdbFreeIter(pIter);
|
||||||
|
|
||||||
|
@ -257,13 +255,13 @@ void mnodeUpdateMnodeIpSet() {
|
||||||
|
|
||||||
void mnodeGetMnodeIpSetForPeer(SRpcIpSet *ipSet) {
|
void mnodeGetMnodeIpSetForPeer(SRpcIpSet *ipSet) {
|
||||||
mnodeMnodeRdLock();
|
mnodeMnodeRdLock();
|
||||||
*ipSet = tsMnodeRpcIpSetForShell;
|
*ipSet = tsMnodeIpSetForPeer;
|
||||||
mnodeMnodeUnLock();
|
mnodeMnodeUnLock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void mnodeGetMnodeIpSetForShell(SRpcIpSet *ipSet) {
|
void mnodeGetMnodeIpSetForShell(SRpcIpSet *ipSet) {
|
||||||
mnodeMnodeRdLock();
|
mnodeMnodeRdLock();
|
||||||
*ipSet = tsMnodeRpcIpSetForShell;
|
*ipSet = tsMnodeIpSetForShell;
|
||||||
mnodeMnodeUnLock();
|
mnodeMnodeUnLock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -186,7 +186,7 @@ void sdbUpdateMnodeRoles() {
|
||||||
SNodesRole roles = {0};
|
SNodesRole roles = {0};
|
||||||
syncGetNodesRole(tsSdbObj.sync, &roles);
|
syncGetNodesRole(tsSdbObj.sync, &roles);
|
||||||
|
|
||||||
sdbPrint("update mnodes:%d sync roles", tsSdbObj.cfg.replica);
|
sdbPrint("update mnodes sync roles, total:%d", tsSdbObj.cfg.replica);
|
||||||
for (int32_t i = 0; i < tsSdbObj.cfg.replica; ++i) {
|
for (int32_t i = 0; i < tsSdbObj.cfg.replica; ++i) {
|
||||||
SMnodeObj *pMnode = mnodeGetMnode(roles.nodeId[i]);
|
SMnodeObj *pMnode = mnodeGetMnode(roles.nodeId[i]);
|
||||||
if (pMnode != NULL) {
|
if (pMnode != NULL) {
|
||||||
|
|
|
@ -96,17 +96,16 @@ echo "second ${HOSTNAME}:7200" >> $TAOS_CFG
|
||||||
echo "serverPort ${NODE}" >> $TAOS_CFG
|
echo "serverPort ${NODE}" >> $TAOS_CFG
|
||||||
echo "dataDir $DATA_DIR" >> $TAOS_CFG
|
echo "dataDir $DATA_DIR" >> $TAOS_CFG
|
||||||
echo "logDir $LOG_DIR" >> $TAOS_CFG
|
echo "logDir $LOG_DIR" >> $TAOS_CFG
|
||||||
echo "debugFlag 135" >> $TAOS_CFG
|
|
||||||
echo "dDebugFlag 135" >> $TAOS_CFG
|
echo "dDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "mDebugFlag 135" >> $TAOS_CFG
|
echo "mDebugFlag 199" >> $TAOS_CFG
|
||||||
echo "sdbDebugFlag 135" >> $TAOS_CFG
|
echo "sdbDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "rpcDebugFlag 135" >> $TAOS_CFG
|
echo "rpcDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "tmrDebugFlag 131" >> $TAOS_CFG
|
echo "tmrDebugFlag 131" >> $TAOS_CFG
|
||||||
echo "cDebugFlag 135" >> $TAOS_CFG
|
echo "cDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "httpDebugFlag 135" >> $TAOS_CFG
|
echo "httpDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "monitorDebugFlag 131" >> $TAOS_CFG
|
echo "monitorDebugFlag 131" >> $TAOS_CFG
|
||||||
echo "udebugFlag 131" >> $TAOS_CFG
|
echo "udebugFlag 135" >> $TAOS_CFG
|
||||||
echo "jnidebugFlag 131" >> $TAOS_CFG
|
echo "jnidebugFlag 135" >> $TAOS_CFG
|
||||||
echo "sdebugFlag 135" >> $TAOS_CFG
|
echo "sdebugFlag 135" >> $TAOS_CFG
|
||||||
echo "qdebugFlag 135" >> $TAOS_CFG
|
echo "qdebugFlag 135" >> $TAOS_CFG
|
||||||
echo "monitor 0" >> $TAOS_CFG
|
echo "monitor 0" >> $TAOS_CFG
|
||||||
|
|
|
@ -29,10 +29,10 @@ system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode5 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode5 -c numOfTotalVnodes -v 4
|
||||||
|
|
||||||
system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 200
|
system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 200
|
||||||
#system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 200
|
#system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 200
|
||||||
#system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 200
|
#system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 200
|
||||||
#system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 200
|
#system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 200
|
||||||
|
|
||||||
system sh/cfg.sh -n dnode1 -c arbitrator -v $arbitrator
|
system sh/cfg.sh -n dnode1 -c arbitrator -v $arbitrator
|
||||||
system sh/cfg.sh -n dnode2 -c arbitrator -v $arbitrator
|
system sh/cfg.sh -n dnode2 -c arbitrator -v $arbitrator
|
||||||
|
|
Loading…
Reference in New Issue