diff --git a/source/dnode/mgmt/mgmt_bnode/src/bmHandle.c b/source/dnode/mgmt/mgmt_bnode/src/bmHandle.c index 49bf9201e182f22df25f5c402d275780f65db35a..3b314b1d2b796664c893ebad40837db40da3b311 100644 --- a/source/dnode/mgmt/mgmt_bnode/src/bmHandle.c +++ b/source/dnode/mgmt/mgmt_bnode/src/bmHandle.c @@ -53,7 +53,7 @@ int32_t bmProcessCreateReq(SMgmtWrapper *pWrapper, SNodeMsg *pMsg) { return -1; } - if (createReq.dnodeId != pDnode->data.dnodeId) { + if (pDnode->data.dnodeId != 0 && createReq.dnodeId != pDnode->data.dnodeId) { terrno = TSDB_CODE_INVALID_OPTION; dError("failed to create bnode since %s, input:%d cur:%d", terrstr(), createReq.dnodeId, pDnode->data.dnodeId); return -1; diff --git a/source/util/src/tconfig.c b/source/util/src/tconfig.c index ec63a7ced4c428cc1fdf191c93466861695ac772..6f6ae5d699bd7af6b3e71da06ea2c29584d2151c 100644 --- a/source/util/src/tconfig.c +++ b/source/util/src/tconfig.c @@ -647,12 +647,13 @@ int32_t cfgLoadFromCfgFile(SConfig *pConfig, const char *filepath) { taosCloseFile(&pFile); if (line != NULL) taosMemoryFreeClear(line); - if (code == 0) { + if (code == 0 || (code != 0 && terrno == TSDB_CODE_CFG_NOT_FOUND)) { uInfo("load from cfg file %s success", filepath); + return 0; } else { uError("failed to load from cfg file %s since %s", filepath, terrstr()); + return -1; } - return code; } int32_t cfgLoadFromApollUrl(SConfig *pConfig, const char *url) { diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index 23fe2e8301ae15acb93a7df9534e0fdd11f7ad9e..3564700d53524a6eef744c5b91f35b84c9c1fcbb 100644 --- a/source/util/src/tlog.c +++ b/source/util/src/tlog.c @@ -137,24 +137,23 @@ static void taosStopLog() { } } -static void taosLogBuffDestroy() { - taosThreadMutexDestroy(&tsLogObj.logHandle->buffMutex); - taosCloseFile(&tsLogObj.logHandle->pFile); - taosMemoryFreeClear(tsLogObj.logHandle->buffer); - memset(&tsLogObj.logHandle->buffer, 0, sizeof(tsLogObj.logHandle->buffer)); - taosThreadMutexDestroy(&tsLogObj.logMutex); - taosMemoryFreeClear(tsLogObj.logHandle); - memset(&tsLogObj.logHandle, 0, sizeof(tsLogObj.logHandle)); - tsLogObj.logHandle = NULL; -} - void taosCloseLog() { - taosStopLog(); - if (taosCheckPthreadValid(tsLogObj.logHandle->asyncThread)) { - taosThreadJoin(tsLogObj.logHandle->asyncThread, NULL); + if (tsLogObj.logHandle != NULL) { + taosStopLog(); + if (tsLogObj.logHandle != NULL && taosCheckPthreadValid(tsLogObj.logHandle->asyncThread)) { + taosThreadJoin(tsLogObj.logHandle->asyncThread, NULL); + } + tsLogInited = 0; + + taosThreadMutexDestroy(&tsLogObj.logHandle->buffMutex); + taosCloseFile(&tsLogObj.logHandle->pFile); + taosMemoryFreeClear(tsLogObj.logHandle->buffer); + memset(&tsLogObj.logHandle->buffer, 0, sizeof(tsLogObj.logHandle->buffer)); + taosThreadMutexDestroy(&tsLogObj.logMutex); + taosMemoryFreeClear(tsLogObj.logHandle); + memset(&tsLogObj.logHandle, 0, sizeof(tsLogObj.logHandle)); + tsLogObj.logHandle = NULL; } - tsLogInited = 0; - taosLogBuffDestroy(tsLogObj.logHandle); } static bool taosLockLogFile(TdFilePtr pFile) {