minor changes

This commit is contained in:
Shengliang Guan 2021-11-02 14:35:04 +08:00
parent cb539ad5c8
commit f4e648b7f9
5 changed files with 32 additions and 28 deletions

View File

@ -925,8 +925,7 @@ typedef struct {
int8_t reserved1[7]; int8_t reserved1[7];
char name[TSDB_STEP_NAME_LEN]; char name[TSDB_STEP_NAME_LEN];
char desc[TSDB_STEP_DESC_LEN]; char desc[TSDB_STEP_DESC_LEN];
char reserved2[64]; } SStartupMsg;
} SStartupStep;
// mq related // mq related
typedef struct { typedef struct {

View File

@ -42,7 +42,7 @@ void dnodeCleanup();
EDnStat dnodeGetRunStat(); EDnStat dnodeGetRunStat();
void dnodeSetRunStat(); void dnodeSetRunStat();
void dnodeGetStartup(SStartupStep *); void dnodeGetStartup(SStartupMsg *);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -448,22 +448,27 @@ static void dnodeProcessConfigDnodeReq(SRpcMsg *pMsg) {
static void dnodeProcessStartupReq(SRpcMsg *pMsg) { static void dnodeProcessStartupReq(SRpcMsg *pMsg) {
dInfo("startup msg is received, cont:%s", (char *)pMsg->pCont); dInfo("startup msg is received, cont:%s", (char *)pMsg->pCont);
SStartupStep *pStep = rpcMallocCont(sizeof(SStartupStep)); SStartupMsg *pStartup = rpcMallocCont(sizeof(SStartupMsg));
dnodeGetStartup(pStep); dnodeGetStartup(pStartup);
dInfo("startup msg is sent, step:%s desc:%s finished:%d", pStep->name, pStep->desc, pStep->finished); dInfo("startup msg is sent, step:%s desc:%s finished:%d", pStartup->name, pStartup->desc, pStartup->finished);
SRpcMsg rpcRsp = {.handle = pMsg->handle, .pCont = pStep, .contLen = sizeof(SStartupStep)}; SRpcMsg rpcRsp = {.handle = pMsg->handle, .pCont = pStartup, .contLen = sizeof(SStartupMsg)};
rpcSendResponse(&rpcRsp); rpcSendResponse(&rpcRsp);
rpcFreeCont(pMsg->pCont); rpcFreeCont(pMsg->pCont);
} }
static void *dnodeThreadRoutine(void *param) { static void *dnodeThreadRoutine(void *param) {
int32_t ms = tsStatusInterval * 1000; int32_t ms = tsStatusInterval * 1000;
while (!tsDnode.threadStop) { while (!tsDnode.threadStop) {
taosMsleep(ms); if (dnodeGetRunStat() != DN_RUN_STAT_RUNNING) {
continue;
} else {
dnodeSendStatusMsg(); dnodeSendStatusMsg();
} }
taosMsleep(ms);
}
} }
int32_t dnodeInitDnode() { int32_t dnodeInitDnode() {

View File

@ -26,30 +26,30 @@
#include "wal.h" #include "wal.h"
static struct { static struct {
EDnStat runStatus; SStartupMsg startup;
SStartupStep startup; EDnStat runStat;
SSteps *steps; SSteps *steps;
} tsInt; } tsInt;
EDnStat dnodeGetRunStat() { return tsInt.runStatus; } EDnStat dnodeGetRunStat() { return tsInt.runStat; }
void dnodeSetRunStat(EDnStat stat) { tsInt.runStatus = stat; } void dnodeSetRunStat(EDnStat stat) { tsInt.runStat = stat; }
static void dnodeReportStartup(char *name, char *desc) { static void dnodeReportStartup(char *name, char *desc) {
SStartupStep *startup = &tsInt.startup; SStartupMsg *pStartup = &tsInt.startup;
tstrncpy(startup->name, name, strlen(startup->name)); tstrncpy(pStartup->name, name, strlen(pStartup->name));
tstrncpy(startup->desc, desc, strlen(startup->desc)); tstrncpy(pStartup->desc, desc, strlen(pStartup->desc));
startup->finished = 0; pStartup->finished = 0;
} }
static void dnodeReportStartupFinished(char *name, char *desc) { static void dnodeReportStartupFinished(char *name, char *desc) {
SStartupStep *startup = &tsInt.startup; SStartupMsg *pStartup = &tsInt.startup;
tstrncpy(startup->name, name, strlen(startup->name)); tstrncpy(pStartup->name, name, strlen(pStartup->name));
tstrncpy(startup->desc, desc, strlen(startup->desc)); tstrncpy(pStartup->desc, desc, strlen(pStartup->desc));
startup->finished = 1; pStartup->finished = 1;
} }
void dnodeGetStartup(SStartupStep *pStep) { memcpy(pStep, &tsInt.startup, sizeof(SStartupStep)); } void dnodeGetStartup(SStartupMsg *pStartup) { memcpy(pStartup, &tsInt.startup, sizeof(SStartupMsg)); }
static int32_t dnodeCheckRunning(char *dir) { static int32_t dnodeCheckRunning(char *dir) {
char filepath[256] = {0}; char filepath[256] = {0};
@ -99,7 +99,7 @@ static int32_t dnodeInitDir() {
} }
static int32_t dnodeInitMain() { static int32_t dnodeInitMain() {
tsInt.runStatus = DN_RUN_STAT_STOPPED; tsInt.runStat = DN_RUN_STAT_STOPPED;
tscEmbedded = 1; tscEmbedded = 1;
taosIgnSIGPIPE(); taosIgnSIGPIPE();
taosBlockSIGPIPE(); taosBlockSIGPIPE();

View File

@ -338,7 +338,7 @@ void *taosNetInitRpc(char *secretEncrypt, char spi) {
return pRpcConn; return pRpcConn;
} }
static int32_t taosNetCheckRpc(const char* serverFqdn, uint16_t port, uint16_t pktLen, char spi, SStartupStep *pStep) { static int32_t taosNetCheckRpc(const char* serverFqdn, uint16_t port, uint16_t pktLen, char spi, SStartupMsg *pStep) {
SRpcEpSet epSet; SRpcEpSet epSet;
SRpcMsg reqMsg; SRpcMsg reqMsg;
SRpcMsg rspMsg; SRpcMsg rspMsg;
@ -374,7 +374,7 @@ static int32_t taosNetCheckRpc(const char* serverFqdn, uint16_t port, uint16_t p
} }
int32_t code = 0; int32_t code = 0;
if (pStep != NULL && rspMsg.pCont != NULL && rspMsg.contLen > 0 && rspMsg.contLen <= sizeof(SStartupStep)) { if (pStep != NULL && rspMsg.pCont != NULL && rspMsg.contLen > 0 && rspMsg.contLen <= sizeof(SStartupMsg)) {
memcpy(pStep, rspMsg.pCont, rspMsg.contLen); memcpy(pStep, rspMsg.pCont, rspMsg.contLen);
code = 1; code = 1;
} }
@ -384,8 +384,8 @@ static int32_t taosNetCheckRpc(const char* serverFqdn, uint16_t port, uint16_t p
return code; return code;
} }
static int32_t taosNetParseStartup(SStartupStep *pCont) { static int32_t taosNetParseStartup(SStartupMsg *pCont) {
SStartupStep *pStep = pCont; SStartupMsg *pStep = pCont;
uInfo("step:%s desc:%s", pStep->name, pStep->desc); uInfo("step:%s desc:%s", pStep->name, pStep->desc);
if (pStep->finished) { if (pStep->finished) {
@ -398,7 +398,7 @@ static int32_t taosNetParseStartup(SStartupStep *pCont) {
static void taosNetTestStartup(char *host, int32_t port) { static void taosNetTestStartup(char *host, int32_t port) {
uInfo("check startup, host:%s port:%d\n", host, port); uInfo("check startup, host:%s port:%d\n", host, port);
SStartupStep *pStep = malloc(sizeof(SStartupStep)); SStartupMsg *pStep = malloc(sizeof(SStartupMsg));
while (1) { while (1) {
int32_t code = taosNetCheckRpc(host, port + TSDB_PORT_DNODEDNODE, 20, 0, pStep); int32_t code = taosNetCheckRpc(host, port + TSDB_PORT_DNODEDNODE, 20, 0, pStep);
if (code > 0) { if (code > 0) {