chore: update grant/dnode mgmt
This commit is contained in:
parent
14a9b773c4
commit
96de7b0cf0
|
@ -51,11 +51,7 @@ typedef enum {
|
||||||
} EGrantType;
|
} EGrantType;
|
||||||
|
|
||||||
int32_t grantCheck(EGrantType grant);
|
int32_t grantCheck(EGrantType grant);
|
||||||
#ifndef TD_GRANT_OPTIMIZE
|
|
||||||
int32_t grantAlterActiveCode(const char* old, const char* newer, char* out, int8_t type);
|
|
||||||
#else
|
|
||||||
int32_t grantAlterActiveCode(int32_t did, const char* old, const char* newer, char* out, int8_t type);
|
int32_t grantAlterActiveCode(int32_t did, const char* old, const char* newer, char* out, int8_t type);
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GRANTS_CFG
|
#ifndef GRANTS_CFG
|
||||||
#ifdef TD_ENTERPRISE
|
#ifdef TD_ENTERPRISE
|
||||||
|
|
|
@ -107,6 +107,77 @@ void dmCleanupDnode(SDnode *pDnode) {
|
||||||
dDebug("dnode is closed, ptr:%p", pDnode);
|
dDebug("dnode is closed, ptr:%p", pDnode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(TD_MODULE_OPTIMIZE) || !defined (TD_ENTERPRISE)
|
||||||
|
int32_t dmInitVars(SDnode *pDnode) {
|
||||||
|
SDnodeData *pData = &pDnode->data;
|
||||||
|
pData->dnodeId = 0;
|
||||||
|
pData->clusterId = 0;
|
||||||
|
pData->dnodeVer = 0;
|
||||||
|
pData->engineVer = 0;
|
||||||
|
pData->updateTime = 0;
|
||||||
|
pData->rebootTime = taosGetTimestampMs();
|
||||||
|
pData->dropped = 0;
|
||||||
|
pData->stopped = 0;
|
||||||
|
|
||||||
|
pData->dnodeHash = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT), true, HASH_NO_LOCK);
|
||||||
|
if (pData->dnodeHash == NULL) {
|
||||||
|
dError("failed to init dnode hash");
|
||||||
|
terrno = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dmReadEps(pData) != 0) {
|
||||||
|
dError("failed to read file since %s", terrstr());
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pData->dropped) {
|
||||||
|
dError("dnode will not start since its already dropped");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
taosThreadRwlockInit(&pData->lock, NULL);
|
||||||
|
taosThreadMutexInit(&pDnode->mutex, NULL);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void dmClearVars(SDnode *pDnode) {
|
||||||
|
for (EDndNodeType ntype = DNODE; ntype < NODE_END; ++ntype) {
|
||||||
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[ntype];
|
||||||
|
taosMemoryFreeClear(pWrapper->path);
|
||||||
|
taosThreadRwlockDestroy(&pWrapper->lock);
|
||||||
|
}
|
||||||
|
if (pDnode->lockfile != NULL) {
|
||||||
|
taosUnLockFile(pDnode->lockfile);
|
||||||
|
taosCloseFile(&pDnode->lockfile);
|
||||||
|
pDnode->lockfile = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
SDnodeData *pData = &pDnode->data;
|
||||||
|
taosThreadRwlockWrlock(&pData->lock);
|
||||||
|
if (pData->oldDnodeEps != NULL) {
|
||||||
|
if (dmWriteEps(pData) == 0) {
|
||||||
|
dmRemoveDnodePairs(pData);
|
||||||
|
}
|
||||||
|
taosArrayDestroy(pData->oldDnodeEps);
|
||||||
|
pData->oldDnodeEps = NULL;
|
||||||
|
}
|
||||||
|
if (pData->dnodeEps != NULL) {
|
||||||
|
taosArrayDestroy(pData->dnodeEps);
|
||||||
|
pData->dnodeEps = NULL;
|
||||||
|
}
|
||||||
|
if (pData->dnodeHash != NULL) {
|
||||||
|
taosHashCleanup(pData->dnodeHash);
|
||||||
|
pData->dnodeHash = NULL;
|
||||||
|
}
|
||||||
|
taosThreadRwlockUnlock(&pData->lock);
|
||||||
|
|
||||||
|
taosThreadRwlockDestroy(&pData->lock);
|
||||||
|
taosThreadMutexDestroy(&pDnode->mutex);
|
||||||
|
memset(&pDnode->mutex, 0, sizeof(pDnode->mutex));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void dmSetStatus(SDnode *pDnode, EDndRunStatus status) {
|
void dmSetStatus(SDnode *pDnode, EDndRunStatus status) {
|
||||||
if (pDnode->status != status) {
|
if (pDnode->status != status) {
|
||||||
dDebug("dnode status set from %s to %s", dmStatStr(pDnode->status), dmStatStr(status));
|
dDebug("dnode status set from %s to %s", dmStatStr(pDnode->status), dmStatStr(status));
|
||||||
|
|
|
@ -781,11 +781,7 @@ static int32_t mndConfigDnode(SMnode *pMnode, SRpcMsg *pReq, SMCfgDnodeReq *pCfg
|
||||||
|
|
||||||
SDnodeObj tmpDnode = *pDnode;
|
SDnodeObj tmpDnode = *pDnode;
|
||||||
if (action == DND_ACTIVE_CODE) {
|
if (action == DND_ACTIVE_CODE) {
|
||||||
#ifndef TD_GRANT_OPTIMIZE
|
|
||||||
if (grantAlterActiveCode(pDnode->active, pCfgReq->value, tmpDnode.active, 0) != 0) {
|
|
||||||
#else
|
|
||||||
if (grantAlterActiveCode(pDnode->id, pDnode->active, pCfgReq->value, tmpDnode.active, 0) != 0) {
|
if (grantAlterActiveCode(pDnode->id, pDnode->active, pCfgReq->value, tmpDnode.active, 0) != 0) {
|
||||||
#endif
|
|
||||||
if (TSDB_CODE_DUP_KEY != terrno) {
|
if (TSDB_CODE_DUP_KEY != terrno) {
|
||||||
mError("dnode:%d, config dnode:%d, app:%p config:%s value:%s failed since %s", pDnode->id, pCfgReq->dnodeId,
|
mError("dnode:%d, config dnode:%d, app:%p config:%s value:%s failed since %s", pDnode->id, pCfgReq->dnodeId,
|
||||||
pReq->info.ahandle, pCfgReq->config, pCfgReq->value, terrstr());
|
pReq->info.ahandle, pCfgReq->config, pCfgReq->value, terrstr());
|
||||||
|
@ -801,11 +797,7 @@ static int32_t mndConfigDnode(SMnode *pMnode, SRpcMsg *pReq, SMCfgDnodeReq *pCfg
|
||||||
goto _OVER;
|
goto _OVER;
|
||||||
}
|
}
|
||||||
} else if (action == DND_CONN_ACTIVE_CODE) {
|
} else if (action == DND_CONN_ACTIVE_CODE) {
|
||||||
#ifndef TD_GRANT_OPTIMIZE
|
|
||||||
if (grantAlterActiveCode(pDnode->connActive, pCfgReq->value, tmpDnode.connActive, 1) != 0) {
|
|
||||||
#else
|
|
||||||
if (grantAlterActiveCode(pDnode->id, pDnode->connActive, pCfgReq->value, tmpDnode.connActive, 1) != 0) {
|
if (grantAlterActiveCode(pDnode->id, pDnode->connActive, pCfgReq->value, tmpDnode.connActive, 1) != 0) {
|
||||||
#endif
|
|
||||||
if (TSDB_CODE_DUP_KEY != terrno) {
|
if (TSDB_CODE_DUP_KEY != terrno) {
|
||||||
mError("dnode:%d, config dnode:%d, app:%p config:%s value:%s failed since %s", pDnode->id, pCfgReq->dnodeId,
|
mError("dnode:%d, config dnode:%d, app:%p config:%s value:%s failed since %s", pDnode->id, pCfgReq->dnodeId,
|
||||||
pReq->info.ahandle, pCfgReq->config, pCfgReq->value, terrstr());
|
pReq->info.ahandle, pCfgReq->config, pCfgReq->value, terrstr());
|
||||||
|
|
|
@ -131,13 +131,9 @@ void grantAdd(EGrantType grant, uint64_t value) {}
|
||||||
void grantRestore(EGrantType grant, uint64_t value) {}
|
void grantRestore(EGrantType grant, uint64_t value) {}
|
||||||
int32_t dmProcessGrantReq(void *pInfo, SRpcMsg *pMsg) { return TSDB_CODE_SUCCESS; }
|
int32_t dmProcessGrantReq(void *pInfo, SRpcMsg *pMsg) { return TSDB_CODE_SUCCESS; }
|
||||||
int32_t dmProcessGrantNotify(void *pInfo, SRpcMsg *pMsg) { return TSDB_CODE_SUCCESS; }
|
int32_t dmProcessGrantNotify(void *pInfo, SRpcMsg *pMsg) { return TSDB_CODE_SUCCESS; }
|
||||||
#ifndef TD_GRANT_OPTIMIZE
|
|
||||||
int32_t grantAlterActiveCode(const char *old, const char *new, char *out, int8_t type) { return TSDB_CODE_SUCCESS; }
|
|
||||||
#else
|
|
||||||
int32_t grantAlterActiveCode(int32_t did, const char *old, const char *new, char *out, int8_t type) {
|
int32_t grantAlterActiveCode(int32_t did, const char *old, const char *new, char *out, int8_t type) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue