commit
4c65b08284
|
@ -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);
|
||||
|
|
|
@ -24,7 +24,6 @@ extern "C" {
|
|||
#include "tglobal.h"
|
||||
#include "tlog.h"
|
||||
#include "trpc.h"
|
||||
#include "ttimer.h"
|
||||
|
||||
extern int32_t dDebugFlag;
|
||||
|
||||
|
|
|
@ -21,6 +21,9 @@ extern "C" {
|
|||
#endif
|
||||
#include "dnodeInt.h"
|
||||
|
||||
int32_t dnodeInitMnode();
|
||||
void dnodeCleanupMnode();
|
||||
|
||||
void dnodeProcessCreateMnodeReq(SRpcMsg *pMsg);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
|
|
@ -12,8 +12,8 @@
|
|||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#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);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#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(); }
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define _DEFAULT_SOURCE
|
||||
#include "dnodeDnode.h"
|
||||
#include "vnode.h"
|
||||
|
||||
int32_t dnodeInitVnodes() { return vnodeInit(); }
|
||||
|
||||
void dnodeCleanupVnodes() { vnodeCleanup(); }
|
Loading…
Reference in New Issue