Merge branch 'enh/ipWhiteList' of https://github.com/taosdata/TDengine into enh/ipWhiteList
This commit is contained in:
parent
0e496ab0c5
commit
250fed499f
|
@ -39,7 +39,6 @@ typedef struct SDnodeMgmt {
|
||||||
GetMnodeLoadsFp getMnodeLoadsFp;
|
GetMnodeLoadsFp getMnodeLoadsFp;
|
||||||
GetQnodeLoadsFp getQnodeLoadsFp;
|
GetQnodeLoadsFp getQnodeLoadsFp;
|
||||||
int32_t statusSeq;
|
int32_t statusSeq;
|
||||||
int64_t ipWhiteVer;
|
|
||||||
} SDnodeMgmt;
|
} SDnodeMgmt;
|
||||||
|
|
||||||
// dmHandle.c
|
// dmHandle.c
|
||||||
|
|
|
@ -31,17 +31,17 @@ static void dmUpdateDnodeCfg(SDnodeMgmt *pMgmt, SDnodeCfg *pCfg) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static void dmMayShouldUpdateIpWhiteList(SDnodeMgmt *pMgmt, int64_t ver) {
|
static void dmMayShouldUpdateIpWhiteList(SDnodeMgmt *pMgmt, int64_t ver) {
|
||||||
dDebug("ip-white-list on dnode ver: %" PRId64 ", status ver: %" PRId64 "", pMgmt->ipWhiteVer, ver);
|
dDebug("ip-white-list on dnode ver: %" PRId64 ", status ver: %" PRId64 "", pMgmt->pData->ipWhiteVer, ver);
|
||||||
if (pMgmt->ipWhiteVer == ver) {
|
if (pMgmt->pData->ipWhiteVer == ver) {
|
||||||
if (ver == 0) {
|
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);
|
rpcSetIpWhite(pMgmt->msgCb.serverRpc, NULL);
|
||||||
pMgmt->ipWhiteVer = ver;
|
// pMgmt->ipWhiteVer = ver;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int64_t oldVer = pMgmt->ipWhiteVer;
|
int64_t oldVer = pMgmt->pData->ipWhiteVer;
|
||||||
pMgmt->ipWhiteVer = ver;
|
// pMgmt->ipWhiteVer = ver;
|
||||||
|
|
||||||
SRetrieveIpWhiteReq req = {.ipWhiteVer = oldVer};
|
SRetrieveIpWhiteReq req = {.ipWhiteVer = oldVer};
|
||||||
int32_t contLen = tSerializeRetrieveIpWhite(NULL, 0, &req);
|
int32_t contLen = tSerializeRetrieveIpWhite(NULL, 0, &req);
|
||||||
|
@ -141,7 +141,7 @@ void dmSendStatusReq(SDnodeMgmt *pMgmt) {
|
||||||
|
|
||||||
pMgmt->statusSeq++;
|
pMgmt->statusSeq++;
|
||||||
req.statusSeq = pMgmt->statusSeq;
|
req.statusSeq = pMgmt->statusSeq;
|
||||||
req.ipWhiteVer = pMgmt->ipWhiteVer;
|
req.ipWhiteVer = pMgmt->pData->ipWhiteVer;
|
||||||
|
|
||||||
int32_t contLen = tSerializeSStatusReq(NULL, 0, &req);
|
int32_t contLen = tSerializeSStatusReq(NULL, 0, &req);
|
||||||
void *pHead = rpcMallocCont(contLen);
|
void *pHead = rpcMallocCont(contLen);
|
||||||
|
|
|
@ -55,7 +55,7 @@ static int32_t dmOpenMgmt(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) {
|
||||||
pMgmt->getMnodeLoadsFp = pInput->getMnodeLoadsFp;
|
pMgmt->getMnodeLoadsFp = pInput->getMnodeLoadsFp;
|
||||||
pMgmt->getQnodeLoadsFp = pInput->getQnodeLoadsFp;
|
pMgmt->getQnodeLoadsFp = pInput->getQnodeLoadsFp;
|
||||||
|
|
||||||
pMgmt->ipWhiteVer = 0;
|
// pMgmt->pData->ipWhiteVer = 0;
|
||||||
if (dmStartWorker(pMgmt) != 0) {
|
if (dmStartWorker(pMgmt) != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,11 +63,12 @@ static void dmConvertErrCode(tmsg_t msgType) {
|
||||||
terrno = TSDB_CODE_VND_STOPPED;
|
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));
|
SUpdateIpWhite ipWhite = {0}; // aosMemoryCalloc(1, sizeof(SUpdateIpWhite));
|
||||||
tDeserializeSUpdateIpWhite(pRpc->pCont, pRpc->contLen, &ipWhite);
|
tDeserializeSUpdateIpWhite(pRpc->pCont, pRpc->contLen, &ipWhite);
|
||||||
|
|
||||||
rpcSetIpWhite(pTrans, &ipWhite);
|
rpcSetIpWhite(pTrans, &ipWhite);
|
||||||
|
pData->ipWhiteVer = ipWhite.ver;
|
||||||
|
|
||||||
tFreeSUpdateIpWhiteReq(&ipWhite);
|
tFreeSUpdateIpWhiteReq(&ipWhite);
|
||||||
|
|
||||||
|
@ -126,7 +127,7 @@ static void dmProcessRpcMsg(SDnode *pDnode, SRpcMsg *pRpc, SEpSet *pEpSet) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TDMT_MND_RETRIEVE_IP_WHITE_RSP: {
|
case TDMT_MND_RETRIEVE_IP_WHITE_RSP: {
|
||||||
dmUpdateRpcIpWhite(pTrans->serverRpc, pRpc);
|
dmUpdateRpcIpWhite(&pDnode->data, pTrans->serverRpc, pRpc);
|
||||||
return;
|
return;
|
||||||
} break;
|
} break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -107,6 +107,7 @@ typedef struct {
|
||||||
TdThreadRwlock lock;
|
TdThreadRwlock lock;
|
||||||
SMsgCb msgCb;
|
SMsgCb msgCb;
|
||||||
bool validMnodeEps;
|
bool validMnodeEps;
|
||||||
|
int64_t ipWhiteVer;
|
||||||
} SDnodeData;
|
} SDnodeData;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
Loading…
Reference in New Issue