提交 06b3e87a 编写于 作者: S Shengliang Guan

TD-1663

上级 3f507c53
...@@ -104,7 +104,6 @@ void taos_init_imp(void) { ...@@ -104,7 +104,6 @@ void taos_init_imp(void) {
taosReadGlobalCfg(); taosReadGlobalCfg();
taosCheckGlobalCfg(); taosCheckGlobalCfg();
taosPrintGlobalCfg();
tscDebug("starting to initialize TAOS client ..."); tscDebug("starting to initialize TAOS client ...");
tscDebug("Local End Point is:%s", tsLocalEp); tscDebug("Local End Point is:%s", tsLocalEp);
......
...@@ -183,13 +183,13 @@ extern int32_t debugFlag; ...@@ -183,13 +183,13 @@ extern int32_t debugFlag;
#define NEEDTO_COMPRESSS_MSG(size) (tsCompressMsgSize != -1 && (size) > tsCompressMsgSize) #define NEEDTO_COMPRESSS_MSG(size) (tsCompressMsgSize != -1 && (size) > tsCompressMsgSize)
void taosInitGlobalCfg(); void taosInitGlobalCfg();
bool taosCheckGlobalCfg(); int32_t taosCheckGlobalCfg();
void taosSetAllDebugFlag(); void taosSetAllDebugFlag();
bool taosCfgDynamicOptions(char *msg); bool taosCfgDynamicOptions(char *msg);
int taosGetFqdnPortFromEp(const char *ep, char *fqdn, uint16_t *port); int taosGetFqdnPortFromEp(const char *ep, char *fqdn, uint16_t *port);
bool taosCheckBalanceCfgOptions(const char *option, int32_t *vnodeId, int32_t *dnodeId); bool taosCheckBalanceCfgOptions(const char *option, int32_t *vnodeId, int32_t *dnodeId);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
......
...@@ -1316,7 +1316,7 @@ void taosInitGlobalCfg() { ...@@ -1316,7 +1316,7 @@ void taosInitGlobalCfg() {
pthread_once(&tsInitGlobalCfgOnce, doInitGlobalConfig); pthread_once(&tsInitGlobalCfgOnce, doInitGlobalConfig);
} }
bool taosCheckGlobalCfg() { int32_t taosCheckGlobalCfg() {
char fqdn[TSDB_FQDN_LEN]; char fqdn[TSDB_FQDN_LEN];
uint16_t port; uint16_t port;
...@@ -1375,7 +1375,9 @@ bool taosCheckGlobalCfg() { ...@@ -1375,7 +1375,9 @@ bool taosCheckGlobalCfg() {
tsSyncPort = tsServerPort + TSDB_PORT_SYNC; tsSyncPort = tsServerPort + TSDB_PORT_SYNC;
tsHttpPort = tsServerPort + TSDB_PORT_HTTP; tsHttpPort = tsServerPort + TSDB_PORT_HTTP;
return true; taosPrintGlobalCfg();
return 0;
} }
int taosGetFqdnPortFromEp(const char *ep, char *fqdn, uint16_t *port) { int taosGetFqdnPortFromEp(const char *ep, char *fqdn, uint16_t *port) {
......
...@@ -87,6 +87,7 @@ bool dnodeCheckEpChanged(int32_t dnodeId, char *epstr) { ...@@ -87,6 +87,7 @@ bool dnodeCheckEpChanged(int32_t dnodeId, char *epstr) {
char epSaved[TSDB_EP_LEN + 1]; char epSaved[TSDB_EP_LEN + 1];
snprintf(epSaved, TSDB_EP_LEN, "%s:%u", ep->dnodeFqdn, ep->dnodePort); snprintf(epSaved, TSDB_EP_LEN, "%s:%u", ep->dnodeFqdn, ep->dnodePort);
changed = strcmp(epstr, epSaved) != 0; changed = strcmp(epstr, epSaved) != 0;
tstrncpy(epstr, epSaved, TSDB_EP_LEN);
} }
pthread_mutex_unlock(&tsEpsMutex); pthread_mutex_unlock(&tsEpsMutex);
return changed; return changed;
...@@ -235,6 +236,8 @@ PRASE_EPS_OVER: ...@@ -235,6 +236,8 @@ PRASE_EPS_OVER:
dnodeResetEps(eps); dnodeResetEps(eps);
if (eps) free(eps); if (eps) free(eps);
dnodeUpdateEp(dnodeGetDnodeId(), tsLocalEp, tsLocalFqdn, &tsServerPort);
terrno = 0; terrno = 0;
return 0; return 0;
} }
......
...@@ -124,9 +124,9 @@ void dnodeGetEpSetForShell(SRpcEpSet *epSet) { ...@@ -124,9 +124,9 @@ void dnodeGetEpSetForShell(SRpcEpSet *epSet) {
} }
static void dnodePrintMInfos(SMnodeInfos *minfos) { static void dnodePrintMInfos(SMnodeInfos *minfos) {
dInfo("print mnode infos, mnodeNum:%d inUse:%d", tsMInfos.mnodeNum, tsMInfos.inUse); dInfo("print mnode infos, mnodeNum:%d inUse:%d", minfos->mnodeNum, minfos->inUse);
for (int32_t i = 0; i < tsMInfos.mnodeNum; i++) { for (int32_t i = 0; i < minfos->mnodeNum; i++) {
dInfo("mnode index:%d, %s", tsMInfos.mnodeInfos[i].mnodeId, tsMInfos.mnodeInfos[i].mnodeEp); dInfo("mnode index:%d, %s", minfos->mnodeInfos[i].mnodeId, minfos->mnodeInfos[i].mnodeEp);
} }
} }
...@@ -240,6 +240,10 @@ PARSE_MINFOS_OVER: ...@@ -240,6 +240,10 @@ PARSE_MINFOS_OVER:
if (fp != NULL) fclose(fp); if (fp != NULL) fclose(fp);
terrno = 0; terrno = 0;
for (int32_t i = 0; i < minfos.mnodeNum; ++i) {
SMnodeInfo *mInfo = &minfos.mnodeInfos[i];
dnodeUpdateEp(mInfo->mnodeId, mInfo->mnodeEp, NULL, NULL);
}
dnodeResetMInfos(&minfos); dnodeResetMInfos(&minfos);
return 0; return 0;
} }
......
...@@ -54,9 +54,10 @@ typedef struct { ...@@ -54,9 +54,10 @@ typedef struct {
static const SDnodeComponent tsDnodeComponents[] = { static const SDnodeComponent tsDnodeComponents[] = {
{"storage", dnodeInitStorage, dnodeCleanupStorage}, {"storage", dnodeInitStorage, dnodeCleanupStorage},
{"eps", dnodeInitEps, dnodeCleanupEps}, {"dnodecfg", dnodeInitCfg, dnodeCleanupCfg},
{"minfos", dnodeInitMInfos, dnodeCleanupMInfos}, {"dnodeeps", dnodeInitEps, dnodeCleanupEps},
{"cfg", dnodeInitCfg, dnodeCleanupCfg}, {"mnodeinfos",dnodeInitMInfos, dnodeCleanupMInfos},
{"globalcfg" ,taosCheckGlobalCfg, NULL},
{"check", dnodeInitCheck, dnodeCleanupCheck}, // NOTES: dnodeInitCheck must be behind the dnodeinitStorage component !!! {"check", dnodeInitCheck, dnodeCleanupCheck}, // NOTES: dnodeInitCheck must be behind the dnodeinitStorage component !!!
{"vread", dnodeInitVnodeRead, dnodeCleanupVnodeRead}, {"vread", dnodeInitVnodeRead, dnodeCleanupVnodeRead},
{"vwrite", dnodeInitVnodeWrite, dnodeCleanupVnodeWrite}, {"vwrite", dnodeInitVnodeWrite, dnodeCleanupVnodeWrite},
...@@ -82,7 +83,9 @@ static int dnodeCreateDir(const char *dir) { ...@@ -82,7 +83,9 @@ static int dnodeCreateDir(const char *dir) {
static void dnodeCleanupComponents(int32_t stepId) { static void dnodeCleanupComponents(int32_t stepId) {
for (int32_t i = stepId; i >= 0; i--) { for (int32_t i = stepId; i >= 0; i--) {
tsDnodeComponents[i].cleanup(); if (tsDnodeComponents[i].cleanup) {
(*tsDnodeComponents[i].cleanup)();
}
} }
} }
...@@ -119,14 +122,13 @@ int32_t dnodeInitSystem() { ...@@ -119,14 +122,13 @@ int32_t dnodeInitSystem() {
printf("failed to init log file\n"); printf("failed to init log file\n");
} }
if (!taosReadGlobalCfg() || !taosCheckGlobalCfg()) { if (!taosReadGlobalCfg()) {
taosPrintGlobalCfg(); taosPrintGlobalCfg();
dError("TDengine read global config failed"); dError("TDengine read global config failed");
return -1; return -1;
} }
taosPrintGlobalCfg();
dInfo("start to initialize TDengine on %s", tsLocalEp); dInfo("start to initialize TDengine");
if (dnodeInitComponents() != 0) { if (dnodeInitComponents() != 0) {
return -1; return -1;
......
...@@ -355,7 +355,11 @@ bool taosReadGlobalCfg() { ...@@ -355,7 +355,11 @@ bool taosReadGlobalCfg() {
fclose(fp); fclose(fp);
taosTFree(line); taosTFree(line);
if (debugFlag & DEBUG_TRACE || debugFlag & DEBUG_DEBUG || debugFlag & DEBUG_DUMP) {
taosSetAllDebugFlag();
}
return true; return true;
} }
......
...@@ -72,6 +72,8 @@ int32_t vnodeReadCfg(SVnodeObj *pVnode) { ...@@ -72,6 +72,8 @@ int32_t vnodeReadCfg(SVnodeObj *pVnode) {
char file[TSDB_FILENAME_LEN + 30] = {0}; char file[TSDB_FILENAME_LEN + 30] = {0};
sprintf(file, "%s/vnode%d/config.json", tsVnodeDir, pVnode->vgId); sprintf(file, "%s/vnode%d/config.json", tsVnodeDir, pVnode->vgId);
vnodeMsg.cfg.vgId = pVnode->vgId;
fp = fopen(file, "r"); fp = fopen(file, "r");
if (!fp) { if (!fp) {
vError("vgId:%d, failed to open vnode cfg file:%s to read, error:%s", pVnode->vgId, file, strerror(errno)); vError("vgId:%d, failed to open vnode cfg file:%s to read, error:%s", pVnode->vgId, file, strerror(errno));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册