diff --git a/source/dnode/mgmt/inc/dnodeDnode.h b/source/dnode/mgmt/inc/dnodeDnode.h
index 35f68f0306..b126b39d1c 100644
--- a/source/dnode/mgmt/inc/dnodeDnode.h
+++ b/source/dnode/mgmt/inc/dnodeDnode.h
@@ -21,8 +21,8 @@ extern "C" {
#endif
#include "dnodeInt.h"
-int32_t dnodeInitMsg();
-void dnodeCleanupMsg();
+int32_t dnodeInitDnode();
+void dnodeCleanupDnode();
void dnodeProcessStatusRsp(SRpcMsg *pMsg);
void dnodeProcessStartupReq(SRpcMsg *pMsg);
void dnodeProcessConfigDnodeReq(SRpcMsg *pMsg);
diff --git a/source/dnode/mgmt/inc/dnodeInt.h b/source/dnode/mgmt/inc/dnodeInt.h
index 20257140d6..bccafcee85 100644
--- a/source/dnode/mgmt/inc/dnodeInt.h
+++ b/source/dnode/mgmt/inc/dnodeInt.h
@@ -24,7 +24,6 @@ extern "C" {
#include "tglobal.h"
#include "tlog.h"
#include "trpc.h"
-#include "ttimer.h"
extern int32_t dDebugFlag;
diff --git a/source/dnode/mgmt/inc/dnodeMnode.h b/source/dnode/mgmt/inc/dnodeMnode.h
index 0dccb8c39d..00868535c1 100644
--- a/source/dnode/mgmt/inc/dnodeMnode.h
+++ b/source/dnode/mgmt/inc/dnodeMnode.h
@@ -21,6 +21,9 @@ extern "C" {
#endif
#include "dnodeInt.h"
+int32_t dnodeInitMnode();
+void dnodeCleanupMnode();
+
void dnodeProcessCreateMnodeReq(SRpcMsg *pMsg);
#ifdef __cplusplus
diff --git a/source/dnode/mgmt/inc/dnodeVnodes.h b/source/dnode/mgmt/inc/dnodeVnodes.h
index d54fda654a..fae1de7217 100644
--- a/source/dnode/mgmt/inc/dnodeVnodes.h
+++ b/source/dnode/mgmt/inc/dnodeVnodes.h
@@ -21,12 +21,8 @@ extern "C" {
#endif
#include "dnodeInt.h"
-int32_t dnodeInitMsg();
-void dnodeCleanupMsg();
-void dnodeProcessStatusRsp(SRpcMsg *pMsg);
-void dnodeProcessStartupReq(SRpcMsg *pMsg);
-void dnodeProcessCreateMnodeReq(SRpcMsg *pMsg);
-void dnodeProcessConfigDnodeReq(SRpcMsg *pMsg);
+int32_t dnodeInitVnodes();
+void dnodeCleanupVnodes();
#ifdef __cplusplus
}
diff --git a/source/dnode/mgmt/src/dnodeConfig.c b/source/dnode/mgmt/src/dnodeConfig.c
index d6189eb632..2a0374ffaf 100644
--- a/source/dnode/mgmt/src/dnodeConfig.c
+++ b/source/dnode/mgmt/src/dnodeConfig.c
@@ -30,7 +30,7 @@ static struct {
pthread_mutex_t mutex;
} tsConfig;
-vstaticoid dnodeGetEpSetForPeer(SRpcEpSet *epSet) {
+void dnodeGetEpSetForPeer(SRpcEpSet *epSet) {
pthread_mutex_lock(&tsConfig.mutex);
*epSet = tsConfig.mnodeEpSetForPeer;
pthread_mutex_unlock(&tsConfig.mutex);
diff --git a/source/dnode/mgmt/src/dnodeDnode.c b/source/dnode/mgmt/src/dnodeDnode.c
index 0a598527b4..3c6a743e05 100644
--- a/source/dnode/mgmt/src/dnodeDnode.c
+++ b/source/dnode/mgmt/src/dnodeDnode.c
@@ -25,7 +25,7 @@ static struct {
pthread_t *threadId;
bool stop;
uint32_t rebootTime;
-} tsMsg;
+} tsDnode;
static void dnodeSendStatusMsg() {
int32_t contLen = sizeof(SStatusMsg) + TSDB_MAX_VNODES * sizeof(SVnodeLoad);
@@ -39,7 +39,7 @@ static void dnodeSendStatusMsg() {
pStatus->dnodeId = htonl(dnodeGetDnodeId());
tstrncpy(pStatus->dnodeEp, tsLocalEp, TSDB_EP_LEN);
pStatus->clusterId = htobe64(dnodeGetClusterId());
- pStatus->lastReboot = htonl(tsMsg.rebootTime);
+ pStatus->lastReboot = htonl(tsDnode.rebootTime);
pStatus->numOfCores = htonl(tsNumOfCores);
pStatus->diskAvailable = tsAvailDataDirGB;
@@ -93,17 +93,17 @@ void dnodeProcessStatusRsp(SRpcMsg *pMsg) {
static void *dnodeThreadRoutine(void *param) {
int32_t ms = tsStatusInterval * 1000;
- while (!tsMsg.stop) {
+ while (!tsDnode.stop) {
taosMsleep(ms);
dnodeSendStatusMsg();
}
}
-int32_t dnodeInitMsg() {
- tsMsg.stop = false;
- tsMsg.rebootTime = taosGetTimestampSec();
- tsMsg.threadId = taosCreateThread(dnodeThreadRoutine, NULL);
- if (tsMsg.threadId == NULL) {
+int32_t dnodeInitDnode() {
+ tsDnode.stop = false;
+ tsDnode.rebootTime = taosGetTimestampSec();
+ tsDnode.threadId = taosCreateThread(dnodeThreadRoutine, NULL);
+ if (tsDnode.threadId == NULL) {
return -1;
}
@@ -111,11 +111,11 @@ int32_t dnodeInitMsg() {
return 0;
}
-void dnodeCleanupMsg() {
- if (tsMsg.threadId != NULL) {
- tsMsg.stop = true;
- taosDestoryThread(tsMsg.threadId);
- tsMsg.threadId = NULL;
+void dnodeCleanupDnode() {
+ if (tsDnode.threadId != NULL) {
+ tsDnode.stop = true;
+ taosDestoryThread(tsDnode.threadId);
+ tsDnode.threadId = NULL;
}
dInfo("dnode msg is cleanuped");
diff --git a/source/dnode/mgmt/src/dnodeInt.c b/source/dnode/mgmt/src/dnodeInt.c
index de1d03ae7a..df84896be7 100644
--- a/source/dnode/mgmt/src/dnodeInt.c
+++ b/source/dnode/mgmt/src/dnodeInt.c
@@ -17,62 +17,44 @@
#include "dnodeCheck.h"
#include "dnodeConfig.h"
#include "dnodeDnode.h"
+#include "dnodeMnode.h"
#include "dnodeTransport.h"
-#include "mnode.h"
+#include "dnodeVnodes.h"
#include "sync.h"
#include "tcache.h"
#include "tconfig.h"
#include "tnote.h"
#include "tstep.h"
-#include "vnode.h"
#include "wal.h"
static struct {
EDnStat runStatus;
SStartupStep startup;
SSteps *steps;
-} tsDnode;
+} tsInt;
-EDnStat dnodeGetRunStat() { return tsDnode.runStatus; }
+EDnStat dnodeGetRunStat() { return tsInt.runStatus; }
-void dnodeSetRunStat(EDnStat stat) { tsDnode.runStatus = stat; }
+void dnodeSetRunStat(EDnStat stat) { tsInt.runStatus = stat; }
-void dnodeReportStartup(char *name, char *desc) {
- SStartupStep *startup = &tsDnode.startup;
+static void dnodeReportStartup(char *name, char *desc) {
+ SStartupStep *startup = &tsInt.startup;
tstrncpy(startup->name, name, strlen(startup->name));
tstrncpy(startup->desc, desc, strlen(startup->desc));
startup->finished = 0;
}
static void dnodeReportStartupFinished(char *name, char *desc) {
- SStartupStep *startup = &tsDnode.startup;
+ SStartupStep *startup = &tsInt.startup;
tstrncpy(startup->name, name, strlen(startup->name));
tstrncpy(startup->desc, desc, strlen(startup->desc));
startup->finished = 1;
}
-void dnodeGetStartup(SStartupStep *pStep) { memcpy(pStep, &tsDnode.startup, sizeof(SStartupStep)); }
-
-static int32_t dnodeInitVnode() {
- return vnodeInit();
-}
-
-static int32_t dnodeInitMnode() {
- SMnodePara para;
- para.fp.GetDnodeEp = dnodeGetEp;
- para.fp.SendMsgToDnode = dnodeSendMsgToDnode;
- para.fp.SendMsgToMnode = dnodeSendMsgToMnode;
- para.fp.SendRedirectMsg = dnodeSendRedirectMsg;
- para.dnodeId = dnodeGetDnodeId();
- para.clusterId = dnodeGetClusterId();
-
- return mnodeInit(para);
-}
-
-static int32_t dnodeInitTfs() {}
+void dnodeGetStartup(SStartupStep *pStep) { memcpy(pStep, &tsInt.startup, sizeof(SStartupStep)); }
static int32_t dnodeInitMain() {
- tsDnode.runStatus = DN_RUN_STAT_STOPPED;
+ tsInt.runStatus = DN_RUN_STAT_STOPPED;
tscEmbedded = 1;
taosIgnSIGPIPE();
taosBlockSIGPIPE();
@@ -168,17 +150,17 @@ int32_t dnodeInit() {
taosStepAdd(steps, "dnode-dir", dnodeInitDir, dnodeCleanupDir);
taosStepAdd(steps, "dnode-check", dnodeInitCheck, dnodeCleanupCheck);
taosStepAdd(steps, "dnode-rpc", rpcInit, rpcCleanup);
- taosStepAdd(steps, "dnode-tfs", dnodeInitTfs, NULL);
+ taosStepAdd(steps, "dnode-tfs", NULL, NULL);
taosStepAdd(steps, "dnode-wal", walInit, walCleanUp);
taosStepAdd(steps, "dnode-sync", syncInit, syncCleanUp);
- taosStepAdd(steps, "dnode-eps", dnodeInitConfig, dnodeCleanupConfig);
- taosStepAdd(steps, "dnode-vnode", dnodeInitVnode, vnodeCleanup);
- taosStepAdd(steps, "dnode-mnode", dnodeInitMnode, mnodeCleanup);
+ taosStepAdd(steps, "dnode-config", dnodeInitConfig, dnodeCleanupConfig);
+ taosStepAdd(steps, "dnode-vnodes", dnodeInitVnodes, dnodeCleanupVnodes);
+ taosStepAdd(steps, "dnode-mnode", dnodeInitMnode, dnodeCleanupMnode);
taosStepAdd(steps, "dnode-trans", dnodeInitTrans, dnodeCleanupTrans);
- taosStepAdd(steps, "dnode-msg", dnodeInitMsg, dnodeCleanupMsg);
+ taosStepAdd(steps, "dnode-dnode", dnodeInitDnode, dnodeCleanupDnode);
- tsDnode.steps = steps;
- taosStepExec(tsDnode.steps);
+ tsInt.steps = steps;
+ taosStepExec(tsInt.steps);
dnodeSetRunStat(DN_RUN_STAT_RUNNING);
dnodeReportStartupFinished("TDengine", "initialized successfully");
@@ -190,15 +172,7 @@ int32_t dnodeInit() {
void dnodeCleanup() {
if (dnodeGetRunStat() != DN_RUN_STAT_STOPPED) {
dnodeSetRunStat(DN_RUN_STAT_STOPPED);
- taosStepCleanup(tsDnode.steps);
- tsDnode.steps = NULL;
+ taosStepCleanup(tsInt.steps);
+ tsInt.steps = NULL;
}
}
-
-// tsVnode.msgFp[TSDB_MSG_TYPE_MD_CREATE_VNODE] = vnodeProcessMgmtMsg;
-// tsVnode.msgFp[TSDB_MSG_TYPE_MD_ALTER_VNODE] = vnodeProcessMgmtMsg;
-// tsVnode.msgFp[TSDB_MSG_TYPE_MD_SYNC_VNODE] = vnodeProcessMgmtMsg;
-// tsVnode.msgFp[TSDB_MSG_TYPE_MD_COMPACT_VNODE] = vnodeProcessMgmtMsg;
-// tsVnode.msgFp[TSDB_MSG_TYPE_MD_DROP_VNODE] = vnodeProcessMgmtMsg;
-// tsVnode.msgFp[TSDB_MSG_TYPE_MD_ALTER_STREAM] = vnodeProcessMgmtMsg;
-
\ No newline at end of file
diff --git a/source/dnode/mgmt/src/dnodeMain.c b/source/dnode/mgmt/src/dnodeMain.c
index 69960173f4..1fbeb1e732 100644
--- a/source/dnode/mgmt/src/dnodeMain.c
+++ b/source/dnode/mgmt/src/dnodeMain.c
@@ -12,8 +12,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-#include "os.h"
-#include "ulog.h"
+
+#define _DEFAULT_SOURCE
#include "dnodeInt.h"
static bool stop = false;
@@ -35,8 +35,6 @@ int main(int argc, char const *argv[]) {
exit(EXIT_FAILURE);
}
- dInfo("Started TDengine service successfully.");
-
while (!stop) {
taosMsleep(100);
}
diff --git a/source/dnode/mgmt/src/dnodeMnode.c b/source/dnode/mgmt/src/dnodeMnode.c
new file mode 100644
index 0000000000..47b1d89bb8
--- /dev/null
+++ b/source/dnode/mgmt/src/dnodeMnode.c
@@ -0,0 +1,34 @@
+/*
+ * 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 "dnodeMnode.h"
+#include "dnodeConfig.h"
+#include "dnodeTransport.h"
+#include "mnode.h"
+
+int32_t dnodeInitMnode() {
+ SMnodePara para;
+ para.fp.GetDnodeEp = dnodeGetEp;
+ para.fp.SendMsgToDnode = dnodeSendMsgToDnode;
+ para.fp.SendMsgToMnode = dnodeSendMsgToMnode;
+ para.fp.SendRedirectMsg = dnodeSendRedirectMsg;
+ para.dnodeId = dnodeGetDnodeId();
+ para.clusterId = dnodeGetClusterId();
+
+ return mnodeInit(para);
+}
+
+void dnodeCleanupMnode() { mnodeCleanup(); }
\ No newline at end of file
diff --git a/source/dnode/mgmt/src/dnodeVnodes.c b/source/dnode/mgmt/src/dnodeVnodes.c
index e69de29bb2..765bd6fc22 100644
--- a/source/dnode/mgmt/src/dnodeVnodes.c
+++ b/source/dnode/mgmt/src/dnodeVnodes.c
@@ -0,0 +1,22 @@
+/*
+ * 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 "dnodeDnode.h"
+#include "vnode.h"
+
+int32_t dnodeInitVnodes() { return vnodeInit(); }
+
+void dnodeCleanupVnodes() { vnodeCleanup(); }
\ No newline at end of file