diff --git a/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h b/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h index 6551183de0..35947c001b 100644 --- a/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h +++ b/source/dnode/mgmt/mgmt_dnode/inc/dmInt.h @@ -39,7 +39,6 @@ typedef struct SDnodeMgmt { GetMnodeLoadsFp getMnodeLoadsFp; GetQnodeLoadsFp getQnodeLoadsFp; int32_t statusSeq; - int64_t ipWhiteVer; } SDnodeMgmt; // dmHandle.c diff --git a/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c b/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c index a4252db23d..a56387079f 100644 --- a/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c +++ b/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c @@ -31,17 +31,17 @@ static void dmUpdateDnodeCfg(SDnodeMgmt *pMgmt, SDnodeCfg *pCfg) { } } static void dmMayShouldUpdateIpWhiteList(SDnodeMgmt *pMgmt, int64_t ver) { - dDebug("ip-white-list on dnode ver: %" PRId64 ", status ver: %" PRId64 "", pMgmt->ipWhiteVer, ver); - if (pMgmt->ipWhiteVer == ver) { + dDebug("ip-white-list on dnode ver: %" PRId64 ", status ver: %" PRId64 "", pMgmt->pData->ipWhiteVer, ver); + if (pMgmt->pData->ipWhiteVer == ver) { if (ver == 0) { - dDebug("disable ip-white-list on dnode ver: %" PRId64 ", status ver: %" PRId64 "", pMgmt->ipWhiteVer, ver); + dDebug("disable ip-white-list on dnode ver: %" PRId64 ", status ver: %" PRId64 "", pMgmt->pData->ipWhiteVer, ver); rpcSetIpWhite(pMgmt->msgCb.serverRpc, NULL); - pMgmt->ipWhiteVer = ver; + // pMgmt->ipWhiteVer = ver; } return; } - int64_t oldVer = pMgmt->ipWhiteVer; - pMgmt->ipWhiteVer = ver; + int64_t oldVer = pMgmt->pData->ipWhiteVer; + // pMgmt->ipWhiteVer = ver; SRetrieveIpWhiteReq req = {.ipWhiteVer = oldVer}; int32_t contLen = tSerializeRetrieveIpWhite(NULL, 0, &req); @@ -141,7 +141,7 @@ void dmSendStatusReq(SDnodeMgmt *pMgmt) { pMgmt->statusSeq++; req.statusSeq = pMgmt->statusSeq; - req.ipWhiteVer = pMgmt->ipWhiteVer; + req.ipWhiteVer = pMgmt->pData->ipWhiteVer; int32_t contLen = tSerializeSStatusReq(NULL, 0, &req); void *pHead = rpcMallocCont(contLen); diff --git a/source/dnode/mgmt/mgmt_dnode/src/dmInt.c b/source/dnode/mgmt/mgmt_dnode/src/dmInt.c index b68a6e9008..e754b08daf 100644 --- a/source/dnode/mgmt/mgmt_dnode/src/dmInt.c +++ b/source/dnode/mgmt/mgmt_dnode/src/dmInt.c @@ -55,7 +55,7 @@ static int32_t dmOpenMgmt(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) { pMgmt->getMnodeLoadsFp = pInput->getMnodeLoadsFp; pMgmt->getQnodeLoadsFp = pInput->getQnodeLoadsFp; - pMgmt->ipWhiteVer = 0; + // pMgmt->pData->ipWhiteVer = 0; if (dmStartWorker(pMgmt) != 0) { return -1; } diff --git a/source/dnode/mgmt/node_mgmt/src/dmTransport.c b/source/dnode/mgmt/node_mgmt/src/dmTransport.c index 4bdf877933..dc48ff71f8 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmTransport.c +++ b/source/dnode/mgmt/node_mgmt/src/dmTransport.c @@ -63,11 +63,12 @@ static void dmConvertErrCode(tmsg_t msgType) { terrno = TSDB_CODE_VND_STOPPED; } } -static void dmUpdateRpcIpWhite(void *pTrans, SRpcMsg *pRpc) { +static void dmUpdateRpcIpWhite(SDnodeData *pData, void *pTrans, SRpcMsg *pRpc) { SUpdateIpWhite ipWhite = {0}; // aosMemoryCalloc(1, sizeof(SUpdateIpWhite)); tDeserializeSUpdateIpWhite(pRpc->pCont, pRpc->contLen, &ipWhite); rpcSetIpWhite(pTrans, &ipWhite); + pData->ipWhiteVer = ipWhite.ver; tFreeSUpdateIpWhiteReq(&ipWhite); @@ -126,7 +127,7 @@ static void dmProcessRpcMsg(SDnode *pDnode, SRpcMsg *pRpc, SEpSet *pEpSet) { } break; case TDMT_MND_RETRIEVE_IP_WHITE_RSP: { - dmUpdateRpcIpWhite(pTrans->serverRpc, pRpc); + dmUpdateRpcIpWhite(&pDnode->data, pTrans->serverRpc, pRpc); return; } break; default: diff --git a/source/dnode/mgmt/node_util/inc/dmUtil.h b/source/dnode/mgmt/node_util/inc/dmUtil.h index 32c3d22506..ad87bc91c6 100644 --- a/source/dnode/mgmt/node_util/inc/dmUtil.h +++ b/source/dnode/mgmt/node_util/inc/dmUtil.h @@ -107,6 +107,7 @@ typedef struct { TdThreadRwlock lock; SMsgCb msgCb; bool validMnodeEps; + int64_t ipWhiteVer; } SDnodeData; typedef struct {