diff --git a/src/dnode/CMakeLists.txt b/src/dnode/CMakeLists.txt
index 2fdd531941..32cf41b1a8 100644
--- a/src/dnode/CMakeLists.txt
+++ b/src/dnode/CMakeLists.txt
@@ -3,7 +3,7 @@ PROJECT(TDengine)
IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc)
- INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/detail/inc)
+ INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/mnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/vnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/client/inc)
@@ -20,8 +20,6 @@ IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
IF (TD_CLUSTER)
TARGET_LINK_LIBRARIES(taosd dcluster)
- ELSEIF (TD_LITE)
- TARGET_LINK_LIBRARIES(taosd dlite)
ENDIF ()
SET(PREPARE_ENV_CMD "prepare_env_cmd")
diff --git a/src/dnode/inc/dnodeMgmt.h b/src/dnode/inc/dnodeMgmt.h
index 453795e0bd..51e3e7c18e 100644
--- a/src/dnode/inc/dnodeMgmt.h
+++ b/src/dnode/inc/dnodeMgmt.h
@@ -13,13 +13,15 @@
* along with this program. If not, see .
*/
-#ifndef TDENGINE_VNODEMGMT_H
-#define TDENGINE_VNODEMGMT_H
+#ifndef TDENGINE_DNODE_MGMT_H
+#define TDENGINE_DNODE_MGMT_H
#ifdef __cplusplus
extern "C" {
#endif
+#include "tsched.h"
+
typedef struct {
char id[20];
char sid;
@@ -31,8 +33,31 @@ typedef struct {
int vnodeProcessCreateMeterRequest(char *pMsg, int msgLen, SMgmtObj *pMgmtObj);
int vnodeProcessRemoveMeterRequest(char *pMsg, int msgLen, SMgmtObj *pMgmtObj);
+void dnodeDistributeMsgFromMgmt(char *content, int msgLen, int msgType, SMgmtObj *pObj);
+void mgmtProcessMsgFromDnodeSpec(SSchedMsg *sched);
+
+extern void *dmQhandle;
+extern char *(*taosBuildRspMsgToMnodeWithSize)(SMgmtObj *pObj, char type, int size);
+extern char *(*taosBuildReqMsgToMnodeWithSize)(SMgmtObj *pObj, char type, int size);
+extern char *(*taosBuildRspMsgToMnode)(SMgmtObj *pObj, char type);
+extern char *(*taosBuildReqMsgToMnode)(SMgmtObj *pObj, char type);
+extern int (*taosSendMsgToMnode)(SMgmtObj *pObj, char *msg, int msgLen);
+extern int (*taosSendSimpleRspToMnode)(SMgmtObj *pObj, char rsptype, char code);
+extern void (*dnodeInitMgmtIp)();
+extern int (*dnodeInitMgmtConn)();
+
+char *taosBuildRspMsgToMnodeWithSizeEdgeImp(SMgmtObj *pObj, char type, int size);
+char *taosBuildReqMsgToMnodeWithSizeEdgeImp(SMgmtObj *pObj, char type, int size);
+char *taosBuildRspMsgToMnodeEdgeImp(SMgmtObj *pObj, char type);
+char *taosBuildReqMsgToMnodeEdgeImp(SMgmtObj *pObj, char type);
+int taosSendMsgToMnodeEdgeImp(SMgmtObj *pObj, char *msg, int msgLen);
+int taosSendSimpleRspToMnodeEdgeImp(SMgmtObj *pObj, char rsptype, char code);
+void dnodeInitMgmtIpEdgeImp();
+void* dnodeProcessMsgFromMgmtEdgeImp(SSchedMsg *sched);
+int dnodeInitMgmtConnEdgeImp();
+
#ifdef __cplusplus
}
#endif
-#endif // TDENGINE_VNODEMGMT_H
+#endif
diff --git a/src/dnode/inc/dnodePlugin.h b/src/dnode/inc/dnodeModule.h
similarity index 51%
rename from src/dnode/inc/dnodePlugin.h
rename to src/dnode/inc/dnodeModule.h
index 697567dce7..76f3bd4ffa 100644
--- a/src/dnode/inc/dnodePlugin.h
+++ b/src/dnode/inc/dnodeModule.h
@@ -13,29 +13,49 @@
* along with this program. If not, see .
*/
-#ifndef TDENGINE_DNODE_PLUGIN_H
-#define TDENGINE_DNODE_PLUGIN_H
+#ifndef TDENGINE_DNODE_MODULE_H
+#define TDENGINE_DNODE_MODULE_H
#ifdef __cplusplus
extern "C" {
#endif
#include
+#include
#include
-#include "tsched.h"
-#include "mgmt.h"
+#define tsetModuleStatus(mod) \
+ { tsModuleStatus |= (1 << mod); }
+#define tclearModuleStatus(mod) \
+ { tsModuleStatus &= ~(1 << mod); }
-char *(*taosBuildRspMsgToMnodeWithSize)(SMgmtObj *pObj, char type, int size);
-char *(*taosBuildReqMsgToMnodeWithSize)(SMgmtObj *pObj, char type, int size);
-char *(*taosBuildRspMsgToMnode)(SMgmtObj *pObj, char type);
-char *(*taosBuildReqMsgToMnode)(SMgmtObj *pObj, char type);
-int (*taosSendMsgToMnode)(SMgmtObj *pObj, char *msg, int msgLen);
-int (*taosSendSimpleRspToMnode)(SMgmtObj *pObj, char rsptype, char code);
+enum _module {
+ TSDB_MOD_MGMT,
+ TSDB_MOD_HTTP,
+ TSDB_MOD_MONITOR,
+ TSDB_MOD_MAX
+};
-void (*dnodeInitMgmtIp)();
-void (*dnodeProcessMsgFromMgmt)(SSchedMsg *sched);
-int (*dnodeInitMgmtConn)();
+typedef struct {
+ char *name;
+ int (*initFp)();
+ void (*cleanUpFp)();
+ int (*startFp)();
+ void (*stopFp)();
+ int num;
+ int curNum;
+ int equalVnodeNum;
+} SModule;
+
+extern uint32_t tsModuleStatus;
+extern SModule tsModule[];
+
+void dnodeAllocModules();
+int32_t dnodeInitModules();
+void dnodeCleanUpModules();
+
+extern void (*dnodeStartModules)();
+void dnodeStartModulesEdgeImp();
#ifdef __cplusplus
}
diff --git a/src/vnode/detail/inc/vnodeMgmt.h b/src/dnode/inc/dnodeService.h
similarity index 64%
rename from src/vnode/detail/inc/vnodeMgmt.h
rename to src/dnode/inc/dnodeService.h
index 453795e0bd..953c01413f 100644
--- a/src/vnode/detail/inc/vnodeMgmt.h
+++ b/src/dnode/inc/dnodeService.h
@@ -13,26 +13,18 @@
* along with this program. If not, see .
*/
-#ifndef TDENGINE_VNODEMGMT_H
-#define TDENGINE_VNODEMGMT_H
+#ifndef TDENGINE_DNODE_SERVICE_H
+#define TDENGINE_DNODE_SERVICE_H
#ifdef __cplusplus
extern "C" {
#endif
-typedef struct {
- char id[20];
- char sid;
- void *thandle;
- int mgmtIndex;
- char status; // 0:offline, 1:online
-} SMgmtObj;
-
-int vnodeProcessCreateMeterRequest(char *pMsg, int msgLen, SMgmtObj *pMgmtObj);
-int vnodeProcessRemoveMeterRequest(char *pMsg, int msgLen, SMgmtObj *pMgmtObj);
+void (*dnodeParseParameterK)();
+void dnodeParseParameterKComImp();
#ifdef __cplusplus
}
#endif
-#endif // TDENGINE_VNODEMGMT_H
+#endif
diff --git a/src/dnode/inc/dnodeSystem.h b/src/dnode/inc/dnodeSystem.h
index d3d6a28199..ee950db9b5 100644
--- a/src/dnode/inc/dnodeSystem.h
+++ b/src/dnode/inc/dnodeSystem.h
@@ -13,59 +13,32 @@
* along with this program. If not, see .
*/
-#ifndef TDENGINE_DNODESYSTEM_H
-#define TDENGINE_DNODESYSTEM_H
+#ifndef TDENGINE_DNODE_SYSTEM_H
+#define TDENGINE_DNODE_SYSTEM_H
#ifdef __cplusplus
extern "C" {
#endif
#include
+#include
#include
-#define tsetModuleStatus(mod) \
- { tsModuleStatus |= (1 << mod); }
-#define tclearModuleStatus(mod) \
- { tsModuleStatus &= ~(1 << mod); }
-
-enum _module { TSDB_MOD_MGMT, TSDB_MOD_HTTP, TSDB_MOD_MONITOR, TSDB_MOD_MAX };
-
-typedef struct {
- char *name;
- int (*initFp)();
- void (*cleanUpFp)();
- int (*startFp)();
- void (*stopFp)();
- int num;
- int curNum;
- int equalVnodeNum;
-} SModule;
-
-extern uint32_t tsModuleStatus;
-extern SModule tsModule[];
extern pthread_mutex_t dmutex;
+extern bool tsDnodeStopping;
+extern int (*dnodeInitStorage)();
+extern void (*dnodeCleanupStorage)();
+extern int (*dnodeCheckSystem)();
-void dnodeCleanUpSystem();
int dnodeInitSystem();
-int dnodeInitSystemSpec();
-void dnodeStartModuleSpec();
-void dnodeParseParameterK();
-void dnodeProcessModuleStatus(uint32_t status);
-void dnodeResetSystem();
+void dnodeCleanUpSystem();
void dnodeCheckDbRunning(const char* dir);
-void vnodeCleanUpSystem();
-int vnodeInitSystem();
-void dnodeInitMgmtIp();
-void vnodeInitQHandle();
-int mgmtInitSystem();
-void mgmtCleanUpSystem();
-int mgmtStartSystem();
-void mgmtStopSystem();
-
-int taosCreateTierDirectory();
-void taosCleanupTier();
+void vnodePrintSystemInfo();
+int vnodeCfgDynamicOptions(char *msg);
+int vnodeInitStore();
+int vnodeInitPeer(int numOfThreads);
#ifdef __cplusplus
}
diff --git a/src/dnode/src/dnodeMgmt.c b/src/dnode/src/dnodeMgmt.c
index 9252a6ef30..2a10e0a746 100644
--- a/src/dnode/src/dnodeMgmt.c
+++ b/src/dnode/src/dnodeMgmt.c
@@ -18,12 +18,13 @@
#include "os.h"
#include "dnodeSystem.h"
+#include "dnodeMgmt.h"
+
#include "taosmsg.h"
#include "trpc.h"
#include "tsched.h"
#include "tsystem.h"
#include "vnode.h"
-#include "vnodeMgmt.h"
#include "vnodeSystem.h"
#include "vnodeUtil.h"
#include "vnodeStatus.h"
@@ -42,16 +43,93 @@ void vnodeUpdateHeadFile(int vnode, int oldTables, int newTables);
void vnodeOpenVnode(int vnode);
void vnodeCleanUpOneVnode(int vnode);
-int vnodeSaveCreateMsgIntoQueue(SVnodeObj *pVnode, char *pMsg, int msgLen);
-char *taosBuildRspMsgToMnodeWithSize(SMgmtObj *pObj, char type, int size);
-char *taosBuildReqMsgToMnodeWithSize(SMgmtObj *pObj, char type, int size);
-char *taosBuildRspMsgToMnode(SMgmtObj *pObj, char type);
-char *taosBuildReqMsgToMnode(SMgmtObj *pObj, char type);
-int taosSendSimpleRspToMnode(SMgmtObj *pObj, char rsptype, char code);
-int taosSendMsgToMnode(SMgmtObj *pObj, char *msg, int msgLen);
+char *(*taosBuildRspMsgToMnodeWithSize)(SMgmtObj *pObj, char type, int size) = NULL;
+char *(*taosBuildReqMsgToMnodeWithSize)(SMgmtObj *pObj, char type, int size) = NULL;
+char *(*taosBuildRspMsgToMnode)(SMgmtObj *pObj, char type) = NULL;
+char *(*taosBuildReqMsgToMnode)(SMgmtObj *pObj, char type) = NULL;
+int (*taosSendMsgToMnode)(SMgmtObj *pObj, char *msg, int msgLen) = NULL;
+int (*taosSendSimpleRspToMnode)(SMgmtObj *pObj, char rsptype, char code) = NULL;
+void (*dnodeInitMgmtIp)() = NULL;
+int (*dnodeInitMgmtConn)() = NULL;
-void dnodeProcessMsgFromMgmtImp(char *content, int msgLen, int msgType, SMgmtObj *pObj) {
+char *taosBuildRspMsgToMnodeWithSizeEdgeImp(SMgmtObj *pObj, char type, int size) {
+ char *pStart = (char *)malloc(size);
+ if (pStart == NULL) {
+ return NULL;
+ }
+
+ *pStart = type;
+ return pStart + 1;
+}
+
+char *taosBuildReqMsgToMnodeWithSizeEdgeImp(SMgmtObj *pObj, char type, int size) {
+ char *pStart = (char *)malloc(size);
+ if (pStart == NULL) {
+ return NULL;
+ }
+
+ *pStart = type;
+ return pStart + 1;
+}
+
+char *taosBuildRspMsgToMnodeEdgeImp(SMgmtObj *pObj, char type) {
+ return taosBuildRspMsgToMnodeWithSize(pObj, type, 256);
+}
+
+char *taosBuildReqMsgToMnodeEdgeImp(SMgmtObj *pObj, char type) {
+ return taosBuildReqMsgToMnodeWithSize(pObj, type, 256);
+}
+
+int taosSendMsgToMnodeEdgeImp(SMgmtObj *pObj, char *msg, int msgLen) {
+ dTrace("msg:%s is sent to mnode", taosMsg[(uint8_t)(*(msg-1))]);
+
+ /*
+ * Lite version has no message header, so minus one
+ */
+ SSchedMsg schedMsg;
+ schedMsg.fp = mgmtProcessMsgFromDnodeSpec;
+ schedMsg.msg = msg - 1;
+ schedMsg.ahandle = NULL;
+ schedMsg.thandle = NULL;
+ taosScheduleTask(dmQhandle, &schedMsg);
+
+ return 0;
+}
+
+int taosSendSimpleRspToMnodeEdgeImp(SMgmtObj *pObj, char rsptype, char code) {
+ char *pStart = taosBuildRspMsgToMnode(0, rsptype);
+ if (pStart == NULL) {
+ return 0;
+ }
+
+ *pStart = code;
+ taosSendMsgToMnode(0, pStart, code);
+
+ return 0;
+}
+
+void* dnodeProcessMsgFromMgmtEdgeImp(SSchedMsg *sched) {
+ char msgType = *sched->msg;
+ char *content = sched->msg + 1;
+
+ dTrace("msg:%s is received from mgmt", taosMsg[(uint8_t)msgType]);
+
+ dnodeDistributeMsgFromMgmt(content, 0, msgType, 0);
+
+ free(sched->msg);
+
+ return NULL;
+}
+
+int dnodeInitMgmtConnEdgeImp() {
+ return 0;
+}
+
+void dnodeInitMgmtIpEdgeImp() {}
+
+
+void dnodeDistributeMsgFromMgmt(char *content, int msgLen, int msgType, SMgmtObj *pObj) {
if (msgType == TSDB_MSG_TYPE_CREATE) {
vnodeProcessCreateMeterRequest(content, msgLen, pObj);
} else if (msgType == TSDB_MSG_TYPE_VPEERS) {
@@ -116,12 +194,12 @@ int vnodeProcessCreateMeterRequest(char *pMsg, int msgLen, SMgmtObj *pObj) {
goto _over;
}
- if (pVnode->syncStatus == TSDB_VN_SYNC_STATUS_SYNCING) {
- code = vnodeSaveCreateMsgIntoQueue(pVnode, pMsg, msgLen);
- dTrace("vid:%d, create msg is saved into sync queue", vid);
- } else {
+// if (pVnode->syncStatus == TSDB_VN_SYNC_STATUS_SYNCING) {
+// code = vnodeSaveCreateMsgIntoQueue(pVnode, pMsg, msgLen);
+// dTrace("vid:%d, create msg is saved into sync queue", vid);
+// } else {
code = vnodeProcessCreateMeterMsg(pMsg, msgLen);
- }
+// }
_over:
taosSendSimpleRspToMnode(pObj, TSDB_MSG_TYPE_CREATE_RSP, code);
@@ -512,3 +590,4 @@ int vnodeSendMeterCfgMsg(int vnode, int sid) {
msgLen = pMsg - pStart;
return taosSendMsgToMnode(pObj, pStart, msgLen);
}
+
diff --git a/src/dnode/src/dnodeModule.c b/src/dnode/src/dnodeModule.c
new file mode 100644
index 0000000000..b06069927a
--- /dev/null
+++ b/src/dnode/src/dnodeModule.c
@@ -0,0 +1,131 @@
+/*
+ * Copyright (c) 2019 TAOS Data, Inc.
+ *
+ * This program is free software: you can use, redistribute, and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3
+ * or later ("AGPL"), as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+#define _DEFAULT_SOURCE
+#include "os.h"
+#include "tlog.h"
+#include "tglobalcfg.h"
+#include "dnodeModule.h"
+#include "dnodeSystem.h"
+#include "monitorSystem.h"
+#include "httpSystem.h"
+#include "mgmtSystem.h"
+
+SModule tsModule[TSDB_MOD_MAX] = {0};
+uint32_t tsModuleStatus = 0;
+void (*dnodeStartModules)() = NULL;
+
+void dnodeAllocModules() {
+ tsModule[TSDB_MOD_MGMT].name = "mgmt";
+ tsModule[TSDB_MOD_MGMT].initFp = mgmtInitSystem;
+ tsModule[TSDB_MOD_MGMT].cleanUpFp = mgmtCleanUpSystem;
+ tsModule[TSDB_MOD_MGMT].startFp = mgmtStartSystem;
+ tsModule[TSDB_MOD_MGMT].stopFp = mgmtStopSystem;
+ tsModule[TSDB_MOD_MGMT].num = tsNumOfMPeers;
+ tsModule[TSDB_MOD_MGMT].curNum = 0;
+ tsModule[TSDB_MOD_MGMT].equalVnodeNum = tsMgmtEqualVnodeNum;
+
+ tsModule[TSDB_MOD_HTTP].name = "http";
+ tsModule[TSDB_MOD_HTTP].initFp = httpInitSystem;
+ tsModule[TSDB_MOD_HTTP].cleanUpFp = httpCleanUpSystem;
+ tsModule[TSDB_MOD_HTTP].startFp = httpStartSystem;
+ tsModule[TSDB_MOD_HTTP].stopFp = httpStopSystem;
+ tsModule[TSDB_MOD_HTTP].num = (tsEnableHttpModule == 1) ? -1 : 0;
+ tsModule[TSDB_MOD_HTTP].curNum = 0;
+ tsModule[TSDB_MOD_HTTP].equalVnodeNum = 0;
+
+ tsModule[TSDB_MOD_MONITOR].name = "monitor";
+ tsModule[TSDB_MOD_MONITOR].initFp = monitorInitSystem;
+ tsModule[TSDB_MOD_MONITOR].cleanUpFp = monitorCleanUpSystem;
+ tsModule[TSDB_MOD_MONITOR].startFp = monitorStartSystem;
+ tsModule[TSDB_MOD_MONITOR].stopFp = monitorStopSystem;
+ tsModule[TSDB_MOD_MONITOR].num = (tsEnableMonitorModule == 1) ? -1 : 0;
+ tsModule[TSDB_MOD_MONITOR].curNum = 0;
+ tsModule[TSDB_MOD_MONITOR].equalVnodeNum = 0;
+}
+
+void dnodeCleanUpModules() {
+ for (int mod = 1; mod < TSDB_MOD_MAX; ++mod) {
+ if (tsModule[mod].num != 0 && tsModule[mod].stopFp) {
+ (*tsModule[mod].stopFp)();
+ }
+ if (tsModule[mod].num != 0 && tsModule[mod].cleanUpFp) {
+ (*tsModule[mod].cleanUpFp)();
+ }
+ }
+
+ if (tsModule[TSDB_MOD_MGMT].num != 0 && tsModule[TSDB_MOD_MGMT].cleanUpFp) {
+ (*tsModule[TSDB_MOD_MGMT].cleanUpFp)();
+ }
+}
+
+void dnodeProcessModuleStatus(uint32_t status) {
+ if (tsDnodeStopping) {
+ return;
+ }
+
+ int news = status;
+ int olds = tsModuleStatus;
+
+ for (int moduleType = 0; moduleType < TSDB_MOD_MAX; ++moduleType) {
+ int newStatus = news & (1 << moduleType);
+ int oldStatus = olds & (1 << moduleType);
+
+ if (oldStatus > 0) {
+ if (newStatus == 0) {
+ if (tsModule[moduleType].stopFp) {
+ dPrint("module:%s is stopped on this node", tsModule[moduleType].name);
+ (*tsModule[moduleType].stopFp)();
+ }
+ }
+ } else if (oldStatus == 0) {
+ if (newStatus > 0) {
+ if (tsModule[moduleType].startFp) {
+ dPrint("module:%s is started on this node", tsModule[moduleType].name);
+ (*tsModule[moduleType].startFp)();
+ }
+ }
+ } else {
+ }
+ }
+ tsModuleStatus = status;
+}
+
+int32_t dnodeInitModules() {
+ for (int mod = 0; mod < TSDB_MOD_MAX; ++mod) {
+ if (tsModule[mod].num != 0 && tsModule[mod].initFp) {
+ if ((*tsModule[mod].initFp)() != 0) {
+ dError("TDengine initialization failed");
+ return -1;
+ }
+ }
+ }
+
+ return 0;
+}
+
+void dnodeStartModulesEdgeImp() {
+ for (int mod = 1; mod < TSDB_MOD_MAX; ++mod) {
+ if (tsModule[mod].num != 0 && tsModule[mod].startFp) {
+ if ((*tsModule[mod].startFp)() != 0) {
+ dError("failed to start module:%d", mod);
+ }
+ }
+ }
+
+ if (tsModule[TSDB_MOD_MGMT].num != 0 && tsModule[TSDB_MOD_MGMT].cleanUpFp) {
+ (*tsModule[TSDB_MOD_MGMT].cleanUpFp)();
+ }
+}
diff --git a/src/dnode/src/dnodePlugin.c b/src/dnode/src/dnodePlugin.c
deleted file mode 100644
index fe5f17bda0..0000000000
--- a/src/dnode/src/dnodePlugin.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2019 TAOS Data, Inc.
- *
- * This program is free software: you can use, redistribute, and/or modify
- * it under the terms of the GNU Affero General Public License, version 3
- * or later ("AGPL"), as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-#define _DEFAULT_SOURCE
-
-#include "dnodePlugin.h"
-#include "dnodeMgmt.h"
-
-
-#include "vnode.h"
-#include "vnodeMgmt.h"
-
-
-char *taosBuildRspMsgToMnodeWithSizeEdgeImp(SMgmtObj *pObj, char type, int size) {
- char *pStart = (char *)malloc(size);
- if (pStart == NULL) {
- return NULL;
- }
-
- *pStart = type;
- return pStart + 1;
-}
-
-char *taosBuildReqMsgToMnodeWithSizeEdgeImp(SMgmtObj *pObj, char type, int size) {
- char *pStart = (char *)malloc(size);
- if (pStart == NULL) {
- return NULL;
- }
-
- *pStart = type;
- return pStart + 1;
-}
-
-char *taosBuildRspMsgToMnodeEdgeImp(SMgmtObj *pObj, char type) {
- return taosBuildRspMsgToMnodeWithSize(pObj, type, 256);
-}
-
-char *taosBuildReqMsgToMnodeEdgeImp(SMgmtObj *pObj, char type) {
- return taosBuildReqMsgToMnodeWithSize(pObj, type, 256);
-}
-
-int taosSendMsgToMnodeEdgeImp(SMgmtObj *pObj, char *msg, int msgLen) {
- dTrace("msg:%s is sent to mnode", taosMsg[(uint8_t)(*(msg-1))]);
-
- /*
- * Lite version has no message header, so minus one
- */
- SSchedMsg schedMsg;
- schedMsg.fp = mgmtProcessMsgFromDnodeSpec;
- schedMsg.msg = msg - 1;
- schedMsg.ahandle = NULL;
- schedMsg.thandle = NULL;
- taosScheduleTask(dmQhandle, &schedMsg);
-
- return 0;
-}
-
-int taosSendSimpleRspToMnodeEdgeImp(SMgmtObj *pObj, char rsptype, char code) {
- char *pStart = taosBuildRspMsgToMnode(0, rsptype);
- if (pStart == NULL) {
- return 0;
- }
-
- *pStart = code;
- taosSendMsgToMnode(0, pStart, code);
-
- return 0;
-}
-
-void dnodeProcessMsgFromMgmtEdgeImp(SSchedMsg *sched) {
- char msgType = *sched->msg;
- char *content = sched->msg + 1;
-
- dTrace("msg:%s is received from mgmt", taosMsg[(uint8_t)msgType]);
-
- dnodeProcessMsgFromMgmtImp(content, 0, msgType, 0);
-
- free(sched->msg);
-}
-
-int dnodeInitMgmtConnEdgeImp() {
- return 0;
-}
-
-void dnodeInitMgmtIpEdgeImp() {}
-
-void dnodeInitPlugin() {
- dnodeInitMgmtConn = dnodeInitMgmtConnEdgeImp;
- dnodeInitMgmtIp = dnodeInitMgmtIpEdgeImp;
- dnodeProcessMsgFromMgmt = dnodeProcessMsgFromMgmtEdgeImp;
-
- taosBuildRspMsgToMnodeWithSize = taosBuildRspMsgToMnodeWithSizeEdgeImp;
- taosBuildReqMsgToMnodeWithSize = taosBuildReqMsgToMnodeWithSizeEdgeImp;
- taosBuildRspMsgToMnode = taosBuildRspMsgToMnodeEdgeImp;
- taosBuildReqMsgToMnode = taosBuildReqMsgToMnodeEdgeImp;
- taosSendMsgToMnode = taosSendMsgToMnodeEdgeImp;
- taosSendSimpleRspToMnode = taosSendSimpleRspToMnodeEdgeImp;
-}
-
-
-
diff --git a/src/dnode/src/dnodeService.c b/src/dnode/src/dnodeService.c
index 742efb7b6a..085451862c 100644
--- a/src/dnode/src/dnodeService.c
+++ b/src/dnode/src/dnodeService.c
@@ -22,6 +22,9 @@
#include "tsdb.h"
#include "vnode.h"
+void (*dnodeParseParameterK)() = NULL;
+void dnodeParseParameterKComImp() {}
+
/* Termination handler */
void signal_handler(int signum, siginfo_t *sigInfo, void *context) {
if (signum == SIGUSR1) {
@@ -110,3 +113,5 @@ int main(int argc, char *argv[]) {
sleep(1000);
}
}
+
+
diff --git a/src/dnode/src/dnodeSystem.c b/src/dnode/src/dnodeSystem.c
index d57c7580f4..2511329c45 100644
--- a/src/dnode/src/dnodeSystem.c
+++ b/src/dnode/src/dnodeSystem.c
@@ -15,83 +15,62 @@
#define _DEFAULT_SOURCE
#include "os.h"
-
-#include "mgmt.h"
-#include "vnode.h"
-
+#include "tsdb.h"
+#include "tlog.h"
+#include "ttimer.h"
+#include "dnodeMgmt.h"
+#include "dnodeModule.h"
+#include "dnodeService.h"
#include "dnodeSystem.h"
-#include "httpSystem.h"
#include "monitorSystem.h"
-#include "tcrc32c.h"
-#include "tglobalcfg.h"
+#include "httpSystem.h"
+#include "mgmtSystem.h"
+
#include "vnode.h"
-SModule tsModule[TSDB_MOD_MAX] = {0};
-uint32_t tsModuleStatus = 0;
pthread_mutex_t dmutex;
extern int vnodeSelectReqNum;
extern int vnodeInsertReqNum;
void * tsStatusTimer = NULL;
bool tsDnodeStopping = false;
-int dnodeCheckConfig();
-void dnodeCountRequest(SCountInfo *info);
+// internal global, not configurable
+void * vnodeTmrCtrl;
+void ** rpcQhandle;
+void * dmQhandle;
+void * queryQhandle;
+int tsVnodePeers = TSDB_VNODES_SUPPORT - 1;
+int tsMaxQueues;
+uint32_t tsRebootTime;
+int (*dnodeInitStorage)() = NULL;
+void (*dnodeCleanupStorage)() = NULL;
+int (*dnodeCheckSystem)() = NULL;
-void dnodeInitModules() {
- tsModule[TSDB_MOD_MGMT].name = "mgmt";
- tsModule[TSDB_MOD_MGMT].initFp = mgmtInitSystem;
- tsModule[TSDB_MOD_MGMT].cleanUpFp = mgmtCleanUpSystem;
- tsModule[TSDB_MOD_MGMT].startFp = mgmtStartSystem;
- tsModule[TSDB_MOD_MGMT].stopFp = mgmtStopSystem;
- tsModule[TSDB_MOD_MGMT].num = tsNumOfMPeers;
- tsModule[TSDB_MOD_MGMT].curNum = 0;
- tsModule[TSDB_MOD_MGMT].equalVnodeNum = tsMgmtEqualVnodeNum;
-
- tsModule[TSDB_MOD_HTTP].name = "http";
- tsModule[TSDB_MOD_HTTP].initFp = httpInitSystem;
- tsModule[TSDB_MOD_HTTP].cleanUpFp = httpCleanUpSystem;
- tsModule[TSDB_MOD_HTTP].startFp = httpStartSystem;
- tsModule[TSDB_MOD_HTTP].stopFp = httpStopSystem;
- tsModule[TSDB_MOD_HTTP].num = (tsEnableHttpModule == 1) ? -1 : 0;
- tsModule[TSDB_MOD_HTTP].curNum = 0;
- tsModule[TSDB_MOD_HTTP].equalVnodeNum = 0;
-
- tsModule[TSDB_MOD_MONITOR].name = "monitor";
- tsModule[TSDB_MOD_MONITOR].initFp = monitorInitSystem;
- tsModule[TSDB_MOD_MONITOR].cleanUpFp = monitorCleanUpSystem;
- tsModule[TSDB_MOD_MONITOR].startFp = monitorStartSystem;
- tsModule[TSDB_MOD_MONITOR].stopFp = monitorStopSystem;
- tsModule[TSDB_MOD_MONITOR].num = (tsEnableMonitorModule == 1) ? -1 : 0;
- tsModule[TSDB_MOD_MONITOR].curNum = 0;
- tsModule[TSDB_MOD_MONITOR].equalVnodeNum = 0;
-}
+int32_t dnodeInitRpcQHandle();
+int32_t dnodeInitQueryQHandle();
+int32_t dnodeInitTmrCtl();
+void dnodeInitPlugin();
+void dnodeCountRequestImp(SCountInfo *info);
void dnodeCleanUpSystem() {
- if (tsDnodeStopping) return;
- tsDnodeStopping = true;
+ if (tsDnodeStopping) {
+ return;
+ } else {
+ tsDnodeStopping = true;
+ }
if (tsStatusTimer != NULL) {
taosTmrStopA(&tsStatusTimer);
tsStatusTimer = NULL;
}
- for (int mod = 1; mod < TSDB_MOD_MAX; ++mod) {
- if (tsModule[mod].num != 0 && tsModule[mod].stopFp) {
- (*tsModule[mod].stopFp)();
- }
- if (tsModule[mod].num != 0 && tsModule[mod].cleanUpFp) {
- (*tsModule[mod].cleanUpFp)();
- }
- }
-
- if (tsModule[TSDB_MOD_MGMT].num != 0 && tsModule[TSDB_MOD_MGMT].cleanUpFp) {
- (*tsModule[TSDB_MOD_MGMT].cleanUpFp)();
- }
+ dnodeCleanUpModules();
vnodeCleanUpVnodes();
taosCloseLogger();
- taosCleanupTier();
+
+ dnodeCleanupStorage();
}
void dnodeCheckDbRunning(const char* dir) {
@@ -109,6 +88,8 @@ int dnodeInitSystem() {
char temp[128];
struct stat dirstat;
+ dnodeInitPlugin();
+
taosResolveCRC();
tsRebootTime = taosGetTimestampSec();
@@ -117,10 +98,14 @@ int dnodeInitSystem() {
// Read global configuration.
tsReadGlobalLogConfig();
- if (stat(logDir, &dirstat) < 0) mkdir(logDir, 0755);
+ if (stat(logDir, &dirstat) < 0) {
+ mkdir(logDir, 0755);
+ }
sprintf(temp, "%s/taosdlog", logDir);
- if (taosInitLog(temp, tsNumOfLogLines, 1) < 0) printf("failed to init log file\n");
+ if (taosInitLog(temp, tsNumOfLogLines, 1) < 0) {
+ printf("failed to init log file\n");
+ }
if (!tsReadGlobalConfig()) { // TODO : Change this function
tsPrintGlobalConfig();
@@ -128,7 +113,7 @@ int dnodeInitSystem() {
return -1;
}
- if (taosCreateTierDirectory() != 0) {
+ if (dnodeInitStorage() != 0) {
dError("TDengine init tier directory failed");
return -1;
}
@@ -136,93 +121,93 @@ int dnodeInitSystem() {
dnodeInitMgmtIp();
tsPrintGlobalConfig();
+
dPrint("Server IP address is:%s", tsPrivateIp);
taosSetCoreDump();
signal(SIGPIPE, SIG_IGN);
- dnodeInitModules();
+ dnodeAllocModules();
+
pthread_mutex_init(&dmutex, NULL);
dPrint("starting to initialize TDengine ...");
- vnodeInitQHandle();
- if (dnodeInitSystemSpec() < 0) {
+ if (dnodeInitRpcQHandle() < 0) {
+ dError("failed to init query qhandle, exit");
+ return -1;
+ }
+
+ if (dnodeCheckSystem() < 0) {
return -1;
}
- for (int mod = 0; mod < TSDB_MOD_MAX; ++mod) {
- if (tsModule[mod].num != 0 && tsModule[mod].initFp) {
- if ((*tsModule[mod].initFp)() != 0) {
- dError("TDengine initialization failed");
- return -1;
- }
- }
- }
-
- if (vnodeInitSystem() != 0) {
- dError("TDengine vnodes initialization failed");
+ if (dnodeInitModules() < 0) {
return -1;
}
- monitorCountReqFp = dnodeCountRequest;
+ if (dnodeInitTmrCtl() < 0) {
+ dError("failed to init timer, exit");
+ return -1;
+ }
- dnodeStartModuleSpec();
+ if (dnodeInitQueryQHandle() < 0) {
+ dError("failed to init query qhandle, exit");
+ return -1;
+ }
+
+ if (vnodeInitStore() < 0) {
+ dError("failed to init vnode storage");
+ return -1;
+ }
+
+ int numOfThreads = (1.0 - tsRatioOfQueryThreads) * tsNumOfCores * tsNumOfThreadsPerCore / 2.0;
+ if (numOfThreads < 1) numOfThreads = 1;
+ if (vnodeInitPeer(numOfThreads) < 0) {
+ dError("failed to init vnode peer communication");
+ return -1;
+ }
+
+ if (dnodeInitMgmtConn() < 0) {
+ dError("failed to init communication to mgmt");
+ return -1;
+ }
+
+ if (vnodeInitShell() < 0) {
+ dError("failed to init communication to shell");
+ return -1;
+ }
+
+ if (vnodeInitVnodes() < 0) {
+ dError("failed to init store");
+ return -1;
+ }
+
+ mnodeCountRequestFp = dnodeCountRequestImp;
+
+ dnodeStartModules();
dPrint("TDengine is initialized successfully");
return 0;
}
-void dnodeProcessModuleStatus(uint32_t status) {
- if (tsDnodeStopping) return;
-
- int news = status;
- int olds = tsModuleStatus;
-
- for (int moduleType = 0; moduleType < TSDB_MOD_MAX; ++moduleType) {
- int newStatus = news & (1 << moduleType);
- int oldStatus = olds & (1 << moduleType);
-
- if (oldStatus > 0) {
- if (newStatus == 0) {
- if (tsModule[moduleType].stopFp) {
- dPrint("module:%s is stopped on this node", tsModule[moduleType].name);
- (*tsModule[moduleType].stopFp)();
- }
- }
- } else if (oldStatus == 0) {
- if (newStatus > 0) {
- if (tsModule[moduleType].startFp) {
- dPrint("module:%s is started on this node", tsModule[moduleType].name);
- (*tsModule[moduleType].startFp)();
- }
- }
- } else {
- }
- }
- tsModuleStatus = status;
-}
-
void dnodeResetSystem() {
dPrint("reset the system ...");
- for (int vnode = 0; vnode < TSDB_MAX_VNODES; ++vnode) vnodeRemoveVnode(vnode);
+ for (int vnode = 0; vnode < TSDB_MAX_VNODES; ++vnode) {
+ vnodeRemoveVnode(vnode);
+ }
mgmtStopSystem();
}
-void dnodeCountRequest(SCountInfo *info) {
+void dnodeCountRequestImp(SCountInfo *info) {
httpGetReqCount(&info->httpReqNum);
info->selectReqNum = atomic_exchange_32(&vnodeSelectReqNum, 0);
info->insertReqNum = atomic_exchange_32(&vnodeInsertReqNum, 0);
}
-
-//spec
-
-extern SModule tsModule[TSDB_MOD_MAX];
-
-int taosCreateTierDirectory() {
+int dnodeInitStorageComImp() {
struct stat dirstat;
strcpy(tsDirectory, dataDir);
if (stat(dataDir, &dirstat) < 0) {
@@ -244,16 +229,67 @@ int taosCreateTierDirectory() {
return 0;
}
-int dnodeInitSystemSpec() { return 0; }
+void dnodeCleanupStorageComImp() {}
-void dnodeStartModuleSpec() {
- for (int mod = 1; mod < TSDB_MOD_MAX; ++mod) {
- if (tsModule[mod].num != 0 && tsModule[mod].startFp) {
- if ((*tsModule[mod].startFp)() != 0) {
- dError("failed to start module:%d", mod);
- }
- }
+int32_t dnodeInitQueryQHandle() {
+ int numOfThreads = tsRatioOfQueryThreads * tsNumOfCores * tsNumOfThreadsPerCore;
+ if (numOfThreads < 1) {
+ numOfThreads = 1;
}
+
+ int32_t maxQueueSize = tsNumOfVnodesPerCore * tsNumOfCores * tsSessionsPerVnode;
+ dTrace("query task queue initialized, max slot:%d, task threads:%d", maxQueueSize,numOfThreads);
+
+ queryQhandle = taosInitSchedulerWithInfo(maxQueueSize, numOfThreads, "query", vnodeTmrCtrl);
+
+ return 0;
}
-void dnodeParseParameterK() {}
+int32_t dnodeInitTmrCtl() {
+ vnodeTmrCtrl = taosTmrInit(TSDB_MAX_VNODES * (tsVnodePeers + 10) + tsSessionsPerVnode + 1000, 200, 60000, "DND-vnode");
+ if (vnodeTmrCtrl == NULL) {
+ dError("failed to init timer, exit");
+ return -1;
+ }
+
+ return 0;
+}
+
+int32_t dnodeInitRpcQHandle() {
+ tsMaxQueues = (1.0 - tsRatioOfQueryThreads)*tsNumOfCores*tsNumOfThreadsPerCore / 2.0;
+ if (tsMaxQueues < 1) tsMaxQueues = 1;
+
+ rpcQhandle = malloc(tsMaxQueues*sizeof(void *));
+
+ for (int i=0; i< tsMaxQueues; ++i )
+ rpcQhandle[i] = taosInitScheduler(tsSessionsPerVnode, 1, "dnode");
+
+ dmQhandle = taosInitScheduler(tsSessionsPerVnode, 1, "mgmt");
+
+ return 0;
+}
+
+
+int dnodeCheckSystemComImp() {
+ return 0;
+}
+
+void dnodeInitPlugin() {
+ dnodeInitMgmtConn = dnodeInitMgmtConnEdgeImp;
+ dnodeInitMgmtIp = dnodeInitMgmtIpEdgeImp;
+
+ taosBuildRspMsgToMnodeWithSize = taosBuildRspMsgToMnodeWithSizeEdgeImp;
+ taosBuildReqMsgToMnodeWithSize = taosBuildReqMsgToMnodeWithSizeEdgeImp;
+ taosBuildRspMsgToMnode = taosBuildRspMsgToMnodeEdgeImp;
+ taosBuildReqMsgToMnode = taosBuildReqMsgToMnodeEdgeImp;
+ taosSendMsgToMnode = taosSendMsgToMnodeEdgeImp;
+ taosSendSimpleRspToMnode = taosSendSimpleRspToMnodeEdgeImp;
+
+ dnodeParseParameterK = dnodeParseParameterKComImp;
+ dnodeCheckSystem = dnodeCheckSystemComImp;
+ dnodeInitStorage = dnodeInitStorageComImp;
+ dnodeCleanupStorage = dnodeCleanupStorageComImp;
+ dnodeStartModules = dnodeStartModulesEdgeImp;
+}
+
+
diff --git a/src/dnode/src/vnodeMgmt.c b/src/dnode/src/vnodeMgmt.c
index d8c600d1d9..4a2012aa35 100644
--- a/src/dnode/src/vnodeMgmt.c
+++ b/src/dnode/src/vnodeMgmt.c
@@ -14,100 +14,4 @@
*/
#define _DEFAULT_SOURCE
-#include "os.h"
-#include "tsdb.h"
-#include "tsocket.h"
-#include "vnode.h"
-#include "vnodeSystem.h"
-
-// internal global, not configurable
-void * vnodeTmrCtrl;
-void ** rpcQhandle;
-void * dmQhandle;
-void * queryQhandle;
-int tsVnodePeers = TSDB_VNODES_SUPPORT - 1;
-int tsMaxQueues;
-uint32_t tsRebootTime;
-
-void vnodeCleanUpSystem() {
- vnodeCleanUpVnodes();
-}
-
-bool vnodeInitQueryHandle() {
- int numOfThreads = tsRatioOfQueryThreads * tsNumOfCores * tsNumOfThreadsPerCore;
- if (numOfThreads < 1) {
- numOfThreads = 1;
- }
-
- int32_t maxQueueSize = tsNumOfVnodesPerCore * tsNumOfCores * tsSessionsPerVnode;
- dTrace("query task queue initialized, max slot:%d, task threads:%d", maxQueueSize,numOfThreads);
-
- queryQhandle = taosInitSchedulerWithInfo(maxQueueSize, numOfThreads, "query", vnodeTmrCtrl);
- return true;
-}
-
-bool vnodeInitTmrCtl() {
- vnodeTmrCtrl = taosTmrInit(TSDB_MAX_VNODES * (tsVnodePeers + 10) + tsSessionsPerVnode + 1000, 200, 60000, "DND-vnode");
- if (vnodeTmrCtrl == NULL) {
- dError("failed to init timer, exit");
- return false;
- }
- return true;
-}
-
-int vnodeInitSystem() {
-
- if (!vnodeInitTmrCtl()) {
- dError("failed to init timer, exit");
- return -1;
- }
-
- if (!vnodeInitQueryHandle()) {
- dError("failed to init query qhandle, exit");
- return -1;
- }
-
- if (vnodeInitStore() < 0) {
- dError("failed to init vnode storage");
- return -1;
- }
-
- int numOfThreads = (1.0 - tsRatioOfQueryThreads) * tsNumOfCores * tsNumOfThreadsPerCore / 2.0;
- if (numOfThreads < 1) numOfThreads = 1;
- if (vnodeInitPeer(numOfThreads) < 0) {
- dError("failed to init vnode peer communication");
- return -1;
- }
-
- if (dnodeInitMgmtConn() < 0) {
- dError("failed to init communication to mgmt");
- return -1;
- }
-
- if (vnodeInitShell() < 0) {
- dError("failed to init communication to shell");
- return -1;
- }
-
- if (vnodeInitVnodes() < 0) {
- dError("failed to init store");
- return -1;
- }
-
- dPrint("vnode is initialized successfully");
-
- return 0;
-}
-
-void vnodeInitQHandle() {
- tsMaxQueues = (1.0 - tsRatioOfQueryThreads)*tsNumOfCores*tsNumOfThreadsPerCore / 2.0;
- if (tsMaxQueues < 1) tsMaxQueues = 1;
-
- rpcQhandle = malloc(tsMaxQueues*sizeof(void *));
-
- for (int i=0; i< tsMaxQueues; ++i )
- rpcQhandle[i] = taosInitScheduler(tsSessionsPerVnode, 1, "dnode");
-
- dmQhandle = taosInitScheduler(tsSessionsPerVnode, 1, "mgmt");
-}
diff --git a/src/mnode/detail/CMakeLists.txt b/src/mnode/detail/CMakeLists.txt
index dfc8af5b2c..f94d1e8d1c 100644
--- a/src/mnode/detail/CMakeLists.txt
+++ b/src/mnode/detail/CMakeLists.txt
@@ -2,7 +2,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(TDengine)
IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
- INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/detail/inc)
+ INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/mnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/vnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/client/inc)
diff --git a/src/mnode/detail/inc/mgmtSystem.h b/src/mnode/detail/inc/mgmtSystem.h
index 44bb0331e1..eabea9d418 100644
--- a/src/mnode/detail/inc/mgmtSystem.h
+++ b/src/mnode/detail/inc/mgmtSystem.h
@@ -40,6 +40,7 @@ void mgmtDoStatistic(void *handle, void *tmrId);
void mgmtStartMgmtTimer();
+int mgmtStartSystem();
void mgmtStopSystem();
void mgmtCleanUpSystem();
diff --git a/src/mnode/detail/src/mgmtDnode.c b/src/mnode/detail/src/mgmtDnode.c
index 4066dd7669..c1e79e2f69 100644
--- a/src/mnode/detail/src/mgmtDnode.c
+++ b/src/mnode/detail/src/mgmtDnode.c
@@ -21,6 +21,7 @@
#include "mgmt.h"
#include "tschemautil.h"
#include "vnodeStatus.h"
+#include "dnodeModule.h"
bool mgmtCheckModuleInDnode(SDnodeObj *pDnode, int moduleType);
int mgmtGetDnodesNum();
diff --git a/src/mnode/detail/src/mgmtSystem.c b/src/mnode/detail/src/mgmtSystem.c
index 375e100a83..85f85c65e8 100644
--- a/src/mnode/detail/src/mgmtSystem.c
+++ b/src/mnode/detail/src/mgmtSystem.c
@@ -20,6 +20,7 @@
#include "mgmt.h"
#include "tsdb.h"
#include "mgmtSystem.h"
+#include "dnodeModule.h"
// global, not configurable
char mgmtDirectory[128];
diff --git a/src/mnode/lite/CMakeLists.txt b/src/mnode/lite/CMakeLists.txt
index 01d4f1f76d..28915050cf 100644
--- a/src/mnode/lite/CMakeLists.txt
+++ b/src/mnode/lite/CMakeLists.txt
@@ -3,7 +3,7 @@ PROJECT(TDengine)
IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc)
- INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/detail/inc)
+ INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/mnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/vnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/client/inc)
diff --git a/src/mnode/lite/src/mgmtBalance.spec.c b/src/mnode/lite/src/mgmtBalance.spec.c
index cf3e999e4f..f2ac4c517e 100644
--- a/src/mnode/lite/src/mgmtBalance.spec.c
+++ b/src/mnode/lite/src/mgmtBalance.spec.c
@@ -16,6 +16,7 @@
#define _DEFAULT_SOURCE
#include "mgmtBalance.h"
#include "vnodeStatus.h"
+#include "dnodeModule.h"
void mgmtStartBalanceTimer(int64_t mseconds) {}
diff --git a/src/mnode/lite/src/mgmtDnode.spec.c b/src/mnode/lite/src/mgmtDnode.spec.c
index 7fd9e7a2df..8ffa005e62 100644
--- a/src/mnode/lite/src/mgmtDnode.spec.c
+++ b/src/mnode/lite/src/mgmtDnode.spec.c
@@ -16,6 +16,7 @@
#define _DEFAULT_SOURCE
#include "mgmt.h"
#include "vnodeStatus.h"
+#include "dnodeModule.h"
SDnodeObj dnodeObj;
extern uint32_t tsRebootTime;
diff --git a/src/mnode/lite/src/mgmtDnodeInt.spec.c b/src/mnode/lite/src/mgmtDnodeInt.spec.c
index 5a124d9d99..ab6b7fff3b 100644
--- a/src/mnode/lite/src/mgmtDnodeInt.spec.c
+++ b/src/mnode/lite/src/mgmtDnodeInt.spec.c
@@ -28,7 +28,7 @@
extern void *dmQhandle;
void * mgmtStatusTimer = NULL;
void mgmtProcessMsgFromDnode(char *content, int msgLen, int msgType, SDnodeObj *pObj);
-void dnodeProcessMsgFromMgmt(SSchedMsg *sched);
+void* dnodeProcessMsgFromMgmtEdgeImp(SSchedMsg *sched);
char *taosBuildRspMsgToDnodeWithSize(SDnodeObj *pObj, char type, int size) {
char *pStart = (char *)malloc(size);
@@ -67,7 +67,7 @@ int taosSendMsgToDnode(SDnodeObj *pObj, char *msg, int msgLen) {
* Lite version has no message header, so minus one
*/
SSchedMsg schedMsg;
- schedMsg.fp = dnodeProcessMsgFromMgmt;
+ schedMsg.fp = dnodeProcessMsgFromMgmtEdgeImp;
schedMsg.msg = msg - 1;
schedMsg.ahandle = NULL;
schedMsg.thandle = NULL;
diff --git a/src/modules/monitor/inc/monitorSystem.h b/src/modules/monitor/inc/monitorSystem.h
index 339f2795b1..8093379dc0 100644
--- a/src/modules/monitor/inc/monitorSystem.h
+++ b/src/modules/monitor/inc/monitorSystem.h
@@ -29,6 +29,6 @@ typedef struct {
int httpReqNum;
} SCountInfo;
-extern void (*monitorCountReqFp)(SCountInfo *info);
+extern void (*mnodeCountRequestFp)(SCountInfo *info);
#endif
\ No newline at end of file
diff --git a/src/modules/monitor/src/monitorSystem.c b/src/modules/monitor/src/monitorSystem.c
index f403a27293..133e826aa0 100644
--- a/src/modules/monitor/src/monitorSystem.c
+++ b/src/modules/monitor/src/monitorSystem.c
@@ -77,7 +77,7 @@ void monitorSaveAcctLog(char *acctId, int64_t currentPointsPerSecond, int64_t ma
int64_t totalOutbound, int64_t maxOutbound, int64_t totalDbs, int64_t maxDbs,
int64_t totalUsers, int64_t maxUsers, int64_t totalStreams, int64_t maxStreams,
int64_t totalConns, int64_t maxConns, int8_t accessState);
-void (*monitorCountReqFp)(SCountInfo *info) = NULL;
+void (*mnodeCountRequestFp)(SCountInfo *info) = NULL;
void monitorExecuteSQL(char *sql);
void monitorCheckDiskUsage(void *para, void *unused) {
@@ -335,7 +335,7 @@ int monitorBuildBandSql(char *sql) {
int monitorBuildReqSql(char *sql) {
SCountInfo info;
info.httpReqNum = info.insertReqNum = info.selectReqNum = 0;
- (*monitorCountReqFp)(&info);
+ (*mnodeCountRequestFp)(&info);
return sprintf(sql, ", %d, %d, %d)", info.httpReqNum, info.selectReqNum, info.insertReqNum);
}
@@ -355,7 +355,7 @@ void monitorSaveSystemInfo() {
return;
}
- if (monitorCountReqFp == NULL) {
+ if (mnodeCountRequestFp == NULL) {
return;
}
diff --git a/src/util/src/tutil.c b/src/util/src/tutil.c
index 21d147d947..efe1defa57 100644
--- a/src/util/src/tutil.c
+++ b/src/util/src/tutil.c
@@ -564,10 +564,6 @@ char *taosIpStr(uint32_t ipInt) {
return ipStr;
}
-#ifndef CLUSTER
-void taosCleanupTier() {}
-#endif
-
FORCE_INLINE float taos_align_get_float(const char* pBuf) {
float fv = 0;
*(int32_t*)(&fv) = *(int32_t*)pBuf;
diff --git a/src/vnode/detail/CMakeLists.txt b/src/vnode/detail/CMakeLists.txt
index c913ad1ac0..7b186bda53 100644
--- a/src/vnode/detail/CMakeLists.txt
+++ b/src/vnode/detail/CMakeLists.txt
@@ -3,7 +3,7 @@ PROJECT(TDengine)
IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc)
- INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/detail/inc)
+ INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/mnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/vnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/client/inc)
diff --git a/src/vnode/detail/inc/vnode.h b/src/vnode/detail/inc/vnode.h
index 232e9d358d..b7d2dcbf09 100644
--- a/src/vnode/detail/inc/vnode.h
+++ b/src/vnode/detail/inc/vnode.h
@@ -304,7 +304,7 @@ typedef struct {
extern int tsMeterSizeOnFile;
extern uint32_t tsRebootTime;
extern void ** rpcQhandle;
-extern void * dmQhandle;
+
extern void * queryQhandle;
extern int tsVnodePeers;
extern int tsMaxVnode;
@@ -524,7 +524,6 @@ SConnSec *vnodeGetMeterSec(int vnode, int sid);
int vnodeCreateMeterObjFile(int vnode);
// mgmt
-int dnodeInitMgmtConn();
void vnodeCleanUpMgmt();
diff --git a/src/vnode/detail/inc/vnodeSystem.h b/src/vnode/detail/inc/vnodeSystem.h
index d730c0ea8f..c951be0b26 100644
--- a/src/vnode/detail/inc/vnodeSystem.h
+++ b/src/vnode/detail/inc/vnodeSystem.h
@@ -20,19 +20,7 @@
extern "C" {
#endif
-void vnodeCleanUpSystem();
-void vnodePrintSystemInfo();
-
-int vnodeInitSystem();
-
-int vnodeCfgDynamicOptions(char *msg);
-
-int vnodeInitStore();
-
-int vnodeInitPeer(int numOfThreads);
-
-int dnodeInitMgmtConn();
#ifdef __cplusplus
}
diff --git a/src/vnode/detail/src/vnodeMeter.c b/src/vnode/detail/src/vnodeMeter.c
index 79610a73ad..e03a40995c 100644
--- a/src/vnode/detail/src/vnodeMeter.c
+++ b/src/vnode/detail/src/vnodeMeter.c
@@ -21,7 +21,6 @@
#include "ttime.h"
#include "tutil.h"
#include "vnode.h"
-#include "vnodeMgmt.h"
#include "vnodeShell.h"
#include "vnodeUtil.h"
#include "vnodeStatus.h"
diff --git a/src/vnode/lite/CMakeLists.txt b/src/vnode/lite/CMakeLists.txt
index f07ea8298d..b5022da793 100644
--- a/src/vnode/lite/CMakeLists.txt
+++ b/src/vnode/lite/CMakeLists.txt
@@ -3,7 +3,7 @@ PROJECT(TDengine)
IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc)
- INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/detail/inc)
+ INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/mnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/vnode/detail/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/client/inc)