diff --git a/include/common/tglobal.h b/include/common/tglobal.h index 23d9c41a5198d4972824a4b935efe92007faa55a..ac998b807e2c6124c12d36867b268a799e9f2d9d 100644 --- a/include/common/tglobal.h +++ b/include/common/tglobal.h @@ -152,7 +152,10 @@ void taosCfgDynamicOptions(const char *option, const char *value); void taosAddDataDir(int32_t index, char *v1, int32_t level, int32_t primary); struct SConfig *taosGetCfg(); -int32_t taosSetCfg(SConfig *pCfg, char* name); + +void taosSetAllDebugFlag(int32_t flag); +void taosSetDebugFlag(int32_t *pFlagPtr, const char *flagName, int32_t flagVal); +int32_t taosSetCfg(SConfig *pCfg, char *name); #ifdef __cplusplus } diff --git a/include/util/tlog.h b/include/util/tlog.h index d186c328412d5eb25983103afced9d3e00c8dccd..76d04a5997f1247d830e435bd2a2b1058fc0f0ec 100644 --- a/include/util/tlog.h +++ b/include/util/tlog.h @@ -67,7 +67,6 @@ extern int32_t idxDebugFlag; int32_t taosInitLog(const char *logName, int32_t maxFiles); void taosCloseLog(); void taosResetLog(); -void taosSetAllDebugFlag(int32_t flag); void taosDumpData(uint8_t *msg, int32_t len); void taosPrintLog(const char *flags, ELogLevel level, int32_t dflag, const char *format, ...) diff --git a/source/common/src/tglobal.c b/source/common/src/tglobal.c index 36900e3dfaa32ce5eaf6953b14402924736d39ca..7a20969a633d5d349c7cb0944e6c1162edec14ef 100644 --- a/source/common/src/tglobal.c +++ b/source/common/src/tglobal.c @@ -1143,6 +1143,10 @@ void taosCfgDynamicOptions(const char *option, const char *value) { int32_t monitor = atoi(value); uInfo("monitor set from %d to %d", tsEnableMonitor, monitor); tsEnableMonitor = monitor; + SConfigItem *pItem = cfgGetItem(tsCfg, "monitor"); + if (pItem != NULL) { + pItem->bval = tsEnableMonitor; + } return; } @@ -1166,8 +1170,39 @@ void taosCfgDynamicOptions(const char *option, const char *value) { int32_t flag = atoi(value); uInfo("%s set from %d to %d", optName, *optionVars[d], flag); *optionVars[d] = flag; + taosSetDebugFlag(optionVars[d], optName, flag); return; } uError("failed to cfg dynamic option:%s value:%s", option, value); } + +void taosSetDebugFlag(int32_t *pFlagPtr, const char *flagName, int32_t flagVal) { + SConfigItem *pItem = cfgGetItem(tsCfg, flagName); + if (pItem != NULL) { + pItem->i32 = flagVal; + } + *pFlagPtr = flagVal; +} + +void taosSetAllDebugFlag(int32_t flag) { + if (flag <= 0) return; + + taosSetDebugFlag(&uDebugFlag, "uDebugFlag", flag); + taosSetDebugFlag(&rpcDebugFlag, "rpcDebugFlag", flag); + taosSetDebugFlag(&jniDebugFlag, "jniDebugFlag", flag); + taosSetDebugFlag(&qDebugFlag, "qDebugFlag", flag); + taosSetDebugFlag(&cDebugFlag, "cDebugFlag", flag); + taosSetDebugFlag(&dDebugFlag, "dDebugFlag", flag); + taosSetDebugFlag(&vDebugFlag, "vDebugFlag", flag); + taosSetDebugFlag(&mDebugFlag, "mDebugFlag", flag); + taosSetDebugFlag(&wDebugFlag, "wDebugFlag", flag); + taosSetDebugFlag(&sDebugFlag, "sDebugFlag", flag); + taosSetDebugFlag(&tsdbDebugFlag, "tsdbDebugFlag", flag); + taosSetDebugFlag(&tqDebugFlag, "tqDebugFlag", flag); + taosSetDebugFlag(&fsDebugFlag, "fsDebugFlag", flag); + taosSetDebugFlag(&udfDebugFlag, "udfDebugFlag", flag); + taosSetDebugFlag(&smaDebugFlag, "smaDebugFlag", flag); + taosSetDebugFlag(&idxDebugFlag, "idxDebugFlag", flag); + uInfo("all debug flag are set to %d", flag); +} diff --git a/source/dnode/mnode/impl/src/mndDnode.c b/source/dnode/mnode/impl/src/mndDnode.c index f26c1a7d3224d48579a19af5c1f85ffcc525e56a..7141a62be51d11f5a65e2a02cb2f52fe070f8612 100644 --- a/source/dnode/mnode/impl/src/mndDnode.c +++ b/source/dnode/mnode/impl/src/mndDnode.c @@ -874,7 +874,7 @@ static int32_t mndProcessConfigDnodeReq(SRpcMsg *pReq) { } static int32_t mndProcessConfigDnodeRsp(SRpcMsg *pRsp) { - mInfo("config rsp from dnode, app:%p", pRsp->info.ahandle); + mInfo("config rsp from dnode"); return 0; } diff --git a/source/util/src/tconfig.c b/source/util/src/tconfig.c index 11ae31919a44e73a1ac74864532caf1bc2c0ae4f..ab7e30bab24679e02b4d4a45f990ea27c473db39 100644 --- a/source/util/src/tconfig.c +++ b/source/util/src/tconfig.c @@ -335,6 +335,7 @@ int32_t cfgSetItem(SConfig *pCfg, const char *name, const char *value, ECfgSrcTy } SConfigItem *cfgGetItem(SConfig *pCfg, const char *name) { + if (pCfg == NULL) return NULL; int32_t size = taosArrayGetSize(pCfg->array); for (int32_t i = 0; i < size; ++i) { SConfigItem *pItem = taosArrayGet(pCfg->array, i); diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index 490c6f29bf135c15ac261f3216f040280cc4dd55..a71a75eac5844227d6249f0df2dc03d159a482e2 100644 --- a/source/util/src/tlog.c +++ b/source/util/src/tlog.c @@ -17,6 +17,7 @@ #include "tlog.h" #include "os.h" #include "tutil.h" +#include "tconfig.h" #define LOG_MAX_LINE_SIZE (1024) #define LOG_MAX_LINE_BUFFER_SIZE (LOG_MAX_LINE_SIZE + 3) @@ -62,6 +63,7 @@ typedef struct { TdThreadMutex logMutex; } SLogObj; +extern SConfig *tsCfg; static int8_t tsLogInited = 0; static SLogObj tsLogObj = {.fileNum = 1}; static int64_t tsAsyncLogLostLines = 0; @@ -741,25 +743,3 @@ cmp_end: return ret; } - -void taosSetAllDebugFlag(int32_t flag) { - if (flag <= 0) return; - - uDebugFlag = flag; - rpcDebugFlag = flag; - jniDebugFlag = flag; - qDebugFlag = flag; - cDebugFlag = flag; - dDebugFlag = flag; - vDebugFlag = flag; - mDebugFlag = flag; - wDebugFlag = flag; - sDebugFlag = flag; - tsdbDebugFlag = flag; - tqDebugFlag = flag; - fsDebugFlag = flag; - udfDebugFlag = flag; - smaDebugFlag = flag; - idxDebugFlag = flag; - uInfo("all debug flag are set to %d", flag); -}