From 4f23ea2a8c35cf66388e0a9d3ab73393e91ba669 Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Tue, 26 Sep 2023 11:47:53 +0800 Subject: [PATCH] enh: dmodule logic --- cmake/cmake.platform | 14 +++++ deps/darwin/arm64/dm_static/libdmodule.a | Bin 0 -> 27160 bytes source/dnode/mgmt/mgmt_dnode/CMakeLists.txt | 13 ++++- source/dnode/mgmt/mgmt_dnode/src/dmInt.c | 1 + source/dnode/mgmt/mgmt_qnode/src/qmInt.c | 1 + source/dnode/mgmt/mgmt_snode/src/smInt.c | 1 + source/dnode/mgmt/mgmt_vnode/src/vmInt.c | 1 + source/dnode/mgmt/node_mgmt/inc/dmMgmt.h | 4 ++ source/dnode/mgmt/node_mgmt/src/dmEnv.c | 57 +++----------------- source/dnode/mgmt/node_mgmt/src/dmMgmt.c | 24 +++++---- source/dnode/mgmt/node_util/inc/dmUtil.h | 5 +- source/dnode/mgmt/node_util/src/dmEps.c | 9 +++- 12 files changed, 69 insertions(+), 61 deletions(-) create mode 100644 deps/darwin/arm64/dm_static/libdmodule.a diff --git a/cmake/cmake.platform b/cmake/cmake.platform index 30a33fcdb4..a9539376ea 100644 --- a/cmake/cmake.platform +++ b/cmake/cmake.platform @@ -195,6 +195,20 @@ if (TD_LINUX) ELSE() set(TD_DEPS_DIR "x86") ENDIF() +elseif (TD_DARWIN) + IF (TD_ARM_64) + set(TD_DEPS_DIR "darwin/arm64") + ELSE () + set(TD_DEPS_DIR "darwin/x64") + ENDIF () +elseif (TD_WINDOWS) + IF (TD_WINDOWS_64) + set(TD_DEPS_DIR "win/x86") + ELSEIF (TD_WINDOWS_32) + set(TD_DEPS_DIR "win/i386") + ENDIF () +else () + MESSAGE(FATAL_ERROR "unsupported platform") endif() MESSAGE(STATUS "DEPS_DIR: " ${TD_DEPS_DIR}) diff --git a/deps/darwin/arm64/dm_static/libdmodule.a b/deps/darwin/arm64/dm_static/libdmodule.a new file mode 100644 index 0000000000000000000000000000000000000000..671991887d8622daeeb6ababea7a9e52e7dd29a3 GIT binary patch literal 27160 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 J;0$LX{6Dc~ktYBE literal 0 HcmV?d00001 diff --git a/source/dnode/mgmt/mgmt_dnode/CMakeLists.txt b/source/dnode/mgmt/mgmt_dnode/CMakeLists.txt index fdd0830a58..f7920d3d8e 100644 --- a/source/dnode/mgmt/mgmt_dnode/CMakeLists.txt +++ b/source/dnode/mgmt/mgmt_dnode/CMakeLists.txt @@ -3,11 +3,22 @@ add_library(mgmt_dnode STATIC ${MGMT_DNODE}) if (DEFINED GRANT_CFG_INCLUDE_DIR) add_definitions(-DGRANTS_CFG) endif() + +IF (NOT BUILD_DM_MODULE) + MESSAGE(STATUS "NOT BUILD_DM_MODULE") + target_link_directories( + mgmt_dnode + PUBLIC "${TD_SOURCE_DIR}/deps/${TD_DEPS_DIR}/dm_static" + ) +ELSE() + MESSAGE(STATUS "BUILD_DM_MODULE") +ENDIF() + target_include_directories( mgmt_dnode PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/inc" PUBLIC "${GRANT_CFG_INCLUDE_DIR}" ) target_link_libraries( - mgmt_dnode node_util + mgmt_dnode node_util dmodule ) \ No newline at end of file diff --git a/source/dnode/mgmt/mgmt_dnode/src/dmInt.c b/source/dnode/mgmt/mgmt_dnode/src/dmInt.c index 966891feb8..57b9bb7675 100644 --- a/source/dnode/mgmt/mgmt_dnode/src/dmInt.c +++ b/source/dnode/mgmt/mgmt_dnode/src/dmInt.c @@ -15,6 +15,7 @@ #define _DEFAULT_SOURCE #include "dmInt.h" +#include "libs/function/tudf.h" static int32_t dmStartMgmt(SDnodeMgmt *pMgmt) { if (dmStartStatusThread(pMgmt) != 0) { diff --git a/source/dnode/mgmt/mgmt_qnode/src/qmInt.c b/source/dnode/mgmt/mgmt_qnode/src/qmInt.c index 3b425a0b49..8a042da078 100644 --- a/source/dnode/mgmt/mgmt_qnode/src/qmInt.c +++ b/source/dnode/mgmt/mgmt_qnode/src/qmInt.c @@ -15,6 +15,7 @@ #define _DEFAULT_SOURCE #include "qmInt.h" +#include "libs/function/tudf.h" static int32_t qmRequire(const SMgmtInputOpt *pInput, bool *required) { return dmReadFile(pInput->path, pInput->name, required); diff --git a/source/dnode/mgmt/mgmt_snode/src/smInt.c b/source/dnode/mgmt/mgmt_snode/src/smInt.c index e222349767..47c2993014 100644 --- a/source/dnode/mgmt/mgmt_snode/src/smInt.c +++ b/source/dnode/mgmt/mgmt_snode/src/smInt.c @@ -16,6 +16,7 @@ #define _DEFAULT_SOURCE #include "smInt.h" #include "libs/function/function.h" +#include "libs/function/tudf.h" static int32_t smRequire(const SMgmtInputOpt *pInput, bool *required) { return dmReadFile(pInput->path, pInput->name, required); diff --git a/source/dnode/mgmt/mgmt_vnode/src/vmInt.c b/source/dnode/mgmt/mgmt_vnode/src/vmInt.c index f0ab703b8a..963bfa3197 100644 --- a/source/dnode/mgmt/mgmt_vnode/src/vmInt.c +++ b/source/dnode/mgmt/mgmt_vnode/src/vmInt.c @@ -17,6 +17,7 @@ #include "vmInt.h" #include "tfs.h" #include "vnd.h" +#include "libs/function/tudf.h" int32_t vmAllocPrimaryDisk(SVnodeMgmt *pMgmt, int32_t vgId) { STfs *pTfs = pMgmt->pTfs; diff --git a/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h b/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h index 1c6625ba1a..3cf7a360f9 100644 --- a/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h +++ b/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h @@ -95,6 +95,10 @@ void dmCleanupDnode(SDnode *pDnode); SMgmtWrapper *dmAcquireWrapper(SDnode *pDnode, EDndNodeType nType); int32_t dmMarkWrapper(SMgmtWrapper *pWrapper); void dmReleaseWrapper(SMgmtWrapper *pWrapper); +int32_t dmInitVars(SDnode *pDnode); +void dmClearVars(SDnode *pDnode); +int32_t dmInitModule(SDnode *pDnode); +bool dmRequireNode(SDnode *pDnode, SMgmtWrapper *pWrapper); SMgmtInputOpt dmBuildMgmtInputOpt(SMgmtWrapper *pWrapper); void dmSetStatus(SDnode *pDnode, EDndRunStatus stype); void dmProcessServerStartupStatus(SDnode *pDnode, SRpcMsg *pMsg); diff --git a/source/dnode/mgmt/node_mgmt/src/dmEnv.c b/source/dnode/mgmt/node_mgmt/src/dmEnv.c index 8815647047..d560ba1644 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmEnv.c +++ b/source/dnode/mgmt/node_mgmt/src/dmEnv.c @@ -16,24 +16,7 @@ #define _DEFAULT_SOURCE #include "dmMgmt.h" #include "audit.h" - -#define STR_CASE_CMP(s, d) (0 == strcasecmp((s), (d))) -#define STR_STR_CMP(s, d) (strstr((s), (d))) -#define STR_INT_CMP(s, d, c) (taosStr2Int32(s, 0, 10) c(d)) -#define STR_STR_SIGN ("ia") -#define DM_INIT_MON() \ - do { \ - code = (int32_t)(2147483648 | 298); \ - strncpy(stName, tsVersionName, 64); \ - monCfg.maxLogs = tsMonitorMaxLogs; \ - monCfg.port = tsMonitorPort; \ - monCfg.server = tsMonitorFqdn; \ - monCfg.comp = tsMonitorComp; \ - if (monInit(&monCfg) != 0) { \ - if (terrno != 0) code = terrno; \ - goto _exit; \ - } \ - } while (0) +#include "libs/function/tudf.h" #define DM_INIT_AUDIT() \ do { \ @@ -45,15 +28,7 @@ } \ } while (0) -#define DM_ERR_RTN(c) \ - do { \ - code = (c); \ - goto _exit; \ - } while (0) - static SDnode globalDnode = {0}; -static const char *dmOS[10] = {"Ubuntu", "CentOS Linux", "Red Hat", "Debian GNU", "CoreOS", - "FreeBSD", "openSUSE", "SLES", "Fedora", "macOS"}; SDnode *dmInstance() { return &globalDnode; } @@ -76,30 +51,14 @@ static int32_t dmInitSystem() { static int32_t dmInitMonitor() { int32_t code = 0; SMonCfg monCfg = {0}; - char reName[64] = {0}; - char stName[64] = {0}; - char ver[64] = {0}; - DM_INIT_MON(); - - if (STR_STR_CMP(stName, STR_STR_SIGN)) { - DM_ERR_RTN(0); - } - if (taosGetOsReleaseName(reName, stName, ver, 64) != 0) { - DM_ERR_RTN(code); - } - if (STR_CASE_CMP(stName, dmOS[0])) { - if (STR_INT_CMP(ver, 17, >)) { - DM_ERR_RTN(0); - } - } else if (STR_CASE_CMP(stName, dmOS[1])) { - if (STR_INT_CMP(ver, 6, >)) { - DM_ERR_RTN(0); - } - } else if (STR_STR_CMP(stName, dmOS[2]) || STR_STR_CMP(stName, dmOS[3]) || STR_STR_CMP(stName, dmOS[4]) || - STR_STR_CMP(stName, dmOS[5]) || STR_STR_CMP(stName, dmOS[6]) || STR_STR_CMP(stName, dmOS[7]) || - STR_STR_CMP(stName, dmOS[8]) || STR_STR_CMP(stName, dmOS[9])) { - DM_ERR_RTN(0); + monCfg.maxLogs = tsMonitorMaxLogs; + monCfg.port = tsMonitorPort; + monCfg.server = tsMonitorFqdn; + monCfg.comp = tsMonitorComp; + if (monInit(&monCfg) != 0) { + if (terrno != 0) code = terrno; + goto _exit; } _exit: diff --git a/source/dnode/mgmt/node_mgmt/src/dmMgmt.c b/source/dnode/mgmt/node_mgmt/src/dmMgmt.c index dedd588c53..233c28a29a 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmMgmt.c +++ b/source/dnode/mgmt/node_mgmt/src/dmMgmt.c @@ -24,6 +24,7 @@ #include "tcompression.h" #endif +#if 0 static bool dmRequireNode(SDnode *pDnode, SMgmtWrapper *pWrapper) { SMgmtInputOpt input = dmBuildMgmtInputOpt(pWrapper); @@ -105,6 +106,7 @@ static void dmClearVars(SDnode *pDnode) { taosThreadMutexDestroy(&pDnode->mutex); memset(&pDnode->mutex, 0, sizeof(pDnode->mutex)); } +#endif int32_t dmInitDnode(SDnode *pDnode) { dDebug("start to create dnode"); @@ -143,22 +145,26 @@ int32_t dmInitDnode(SDnode *pDnode) { pWrapper->required = dmRequireNode(pDnode, pWrapper); } - if (dmInitMsgHandle(pDnode) != 0) { - dError("failed to init msg handles since %s", terrstr()); - goto _OVER; - } + // if (dmInitMsgHandle(pDnode) != 0) { + // dError("failed to init msg handles since %s", terrstr()); + // goto _OVER; + // } pDnode->lockfile = dmCheckRunning(tsDataDir); if (pDnode->lockfile == NULL) { goto _OVER; } - if (dmInitServer(pDnode) != 0) { - dError("failed to init transport since %s", terrstr()); - goto _OVER; - } + // if (dmInitServer(pDnode) != 0) { + // dError("failed to init transport since %s", terrstr()); + // goto _OVER; + // } - if (dmInitClient(pDnode) != 0) { + // if (dmInitClient(pDnode) != 0) { + // goto _OVER; + // } + + if(dmInitModule(pDnode) != 0) { goto _OVER; } diff --git a/source/dnode/mgmt/node_util/inc/dmUtil.h b/source/dnode/mgmt/node_util/inc/dmUtil.h index 9d97e6ae9f..0a52c578a5 100644 --- a/source/dnode/mgmt/node_util/inc/dmUtil.h +++ b/source/dnode/mgmt/node_util/inc/dmUtil.h @@ -40,7 +40,6 @@ #include "tfs.h" #include "wal.h" -#include "libs/function/tudf.h" #ifdef __cplusplus extern "C" { #endif @@ -94,6 +93,7 @@ typedef int32_t (*ProcessAlterNodeTypeFp)(EDndNodeType ntype, SRpcMsg *pMsg); typedef struct { int32_t dnodeId; + int32_t engineVer; int64_t clusterId; int64_t dnodeVer; int64_t updateTime; @@ -172,6 +172,9 @@ int32_t dmReadFile(const char *path, const char *name, bool *pDeployed); int32_t dmWriteFile(const char *path, const char *name, bool deployed); TdFilePtr dmCheckRunning(const char *dataDir); +// dmodule.c +int32_t dmInitDndInfo(SDnodeData *pData); + // dmEps.c int32_t dmReadEps(SDnodeData *pData); int32_t dmWriteEps(SDnodeData *pData); diff --git a/source/dnode/mgmt/node_util/src/dmEps.c b/source/dnode/mgmt/node_util/src/dmEps.c index 88f6b5da40..4a77ec79c7 100644 --- a/source/dnode/mgmt/node_util/src/dmEps.c +++ b/source/dnode/mgmt/node_util/src/dmEps.c @@ -57,6 +57,8 @@ static int32_t dmDecodeEps(SJson *pJson, SDnodeData *pData) { if (code < 0) return -1; tjsonGetNumberValue(pJson, "dnodeVer", pData->dnodeVer, code); if (code < 0) return -1; + tjsonGetNumberValue(pJson, "engineVer", pData->dnodeVer, code); + if (code < 0) return -1; tjsonGetNumberValue(pJson, "clusterId", pData->clusterId, code); if (code < 0) return -1; tjsonGetInt32ValueFromDouble(pJson, "dropped", pData->dropped, code); @@ -96,7 +98,8 @@ int32_t dmReadEps(SDnodeData *pData) { pData->dnodeEps = taosArrayInit(1, sizeof(SDnodeEp)); if (pData->dnodeEps == NULL) { - dError("failed to calloc dnodeEp array since %s", strerror(errno)); + code = terrno; + dError("failed to calloc dnodeEp array since %s", terrstr()); goto _OVER; } @@ -184,6 +187,7 @@ _OVER: static int32_t dmEncodeEps(SJson *pJson, SDnodeData *pData) { if (tjsonAddDoubleToObject(pJson, "dnodeId", pData->dnodeId) < 0) return -1; if (tjsonAddIntegerToObject(pJson, "dnodeVer", pData->dnodeVer) < 0) return -1; + if (tjsonAddIntegerToObject(pJson, "engineVer", pData->engineVer) < 0) return -1; if (tjsonAddIntegerToObject(pJson, "clusterId", pData->clusterId) < 0) return -1; if (tjsonAddDoubleToObject(pJson, "dropped", pData->dropped) < 0) return -1; @@ -218,8 +222,11 @@ int32_t dmWriteEps(SDnodeData *pData) { snprintf(realfile, sizeof(realfile), "%s%sdnode%sdnode.json", tsDataDir, TD_DIRSEP, TD_DIRSEP); terrno = TSDB_CODE_OUT_OF_MEMORY; + + if((code == dmInitDndInfo(pData)) != 0) goto _OVER; pJson = tjsonCreateObject(); if (pJson == NULL) goto _OVER; + pData->engineVer = tsVersion; if (dmEncodeEps(pJson, pData) != 0) goto _OVER; buffer = tjsonToString(pJson); if (buffer == NULL) goto _OVER;