提交 e63637fc 编写于 作者: S Shengliang Guan

TD-10431 rename some functions

上级 6ee88322
...@@ -24,8 +24,8 @@ extern "C" { ...@@ -24,8 +24,8 @@ extern "C" {
int32_t mndInitMnode(); int32_t mndInitMnode();
void mndCleanupMnode(); void mndCleanupMnode();
void mnodeGetMnodeEpSetForPeer(SEpSet *epSet, bool redirect); void mndGetMnodeEpSetForPeer(SEpSet *epSet, bool redirect);
void mnodeGetMnodeEpSetForShell(SEpSet *epSet, bool redirect); void mndGetMnodeEpSetForShell(SEpSet *epSet, bool redirect);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -24,9 +24,8 @@ extern "C" { ...@@ -24,9 +24,8 @@ extern "C" {
int32_t mndInitSync(); int32_t mndInitSync();
void mndCleanupSync(); void mndCleanupSync();
int32_t mnodeSyncPropose(SSdbRaw *pRaw, void *pData); bool mndIsMaster();
int32_t mndSyncPropose(SSdbRaw *pRaw, void *pData);
bool mnodeIsMaster();
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -20,5 +20,5 @@ ...@@ -20,5 +20,5 @@
int32_t mndInitMnode() { return 0; } int32_t mndInitMnode() { return 0; }
void mndCleanupMnode() {} void mndCleanupMnode() {}
void mnodeGetMnodeEpSetForPeer(SEpSet *epSet, bool redirect) {} void mndGetMnodeEpSetForPeer(SEpSet *epSet, bool redirect) {}
void mnodeGetMnodeEpSetForShell(SEpSet *epSet, bool redirect) {} void mndGetMnodeEpSetForShell(SEpSet *epSet, bool redirect) {}
\ No newline at end of file \ No newline at end of file
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
int32_t mndInitSync() { return 0; } int32_t mndInitSync() { return 0; }
void mndCleanupSync() {} void mndCleanupSync() {}
int32_t mnodeSyncPropose(SSdbRaw *pRaw, void *pData) { int32_t mndSyncPropose(SSdbRaw *pRaw, void *pData) {
trnApply(pData, pData, 0); trnApply(pData, pData, 0);
free(pData); free(pData);
return 0; return 0;
} }
bool mnodeIsMaster() { return true; } bool mndIsMaster() { return true; }
\ No newline at end of file \ No newline at end of file
...@@ -36,9 +36,9 @@ static struct { ...@@ -36,9 +36,9 @@ static struct {
char email[TSDB_FQDN_LEN]; char email[TSDB_FQDN_LEN];
} tsTelem; } tsTelem;
static void mnodeBeginObject(SBufferWriter* bw) { tbufWriteChar(bw, '{'); } static void mndBeginObject(SBufferWriter* bw) { tbufWriteChar(bw, '{'); }
static void mnodeCloseObject(SBufferWriter* bw) { static void mndCloseObject(SBufferWriter* bw) {
size_t len = tbufTell(bw); size_t len = tbufTell(bw);
if (tbufGetData(bw, false)[len - 1] == ',') { if (tbufGetData(bw, false)[len - 1] == ',') {
tbufWriteCharAt(bw, len - 1, '}'); tbufWriteCharAt(bw, len - 1, '}');
...@@ -64,14 +64,14 @@ static void closeArray(SBufferWriter* bw) { ...@@ -64,14 +64,14 @@ static void closeArray(SBufferWriter* bw) {
} }
#endif #endif
static void mnodeWriteString(SBufferWriter* bw, const char* str) { static void mndWriteString(SBufferWriter* bw, const char* str) {
tbufWriteChar(bw, '"'); tbufWriteChar(bw, '"');
tbufWrite(bw, str, strlen(str)); tbufWrite(bw, str, strlen(str));
tbufWriteChar(bw, '"'); tbufWriteChar(bw, '"');
} }
static void mnodeAddIntField(SBufferWriter* bw, const char* k, int64_t v) { static void mndAddIntField(SBufferWriter* bw, const char* k, int64_t v) {
mnodeWriteString(bw, k); mndWriteString(bw, k);
tbufWriteChar(bw, ':'); tbufWriteChar(bw, ':');
char buf[32]; char buf[32];
sprintf(buf, "%" PRId64, v); sprintf(buf, "%" PRId64, v);
...@@ -79,14 +79,14 @@ static void mnodeAddIntField(SBufferWriter* bw, const char* k, int64_t v) { ...@@ -79,14 +79,14 @@ static void mnodeAddIntField(SBufferWriter* bw, const char* k, int64_t v) {
tbufWriteChar(bw, ','); tbufWriteChar(bw, ',');
} }
static void mnodeAddStringField(SBufferWriter* bw, const char* k, const char* v) { static void mndAddStringField(SBufferWriter* bw, const char* k, const char* v) {
mnodeWriteString(bw, k); mndWriteString(bw, k);
tbufWriteChar(bw, ':'); tbufWriteChar(bw, ':');
mnodeWriteString(bw, v); mndWriteString(bw, v);
tbufWriteChar(bw, ','); tbufWriteChar(bw, ',');
} }
static void mnodeAddCpuInfo(SBufferWriter* bw) { static void mndAddCpuInfo(SBufferWriter* bw) {
char* line = NULL; char* line = NULL;
size_t size = 0; size_t size = 0;
int32_t done = 0; int32_t done = 0;
...@@ -100,11 +100,11 @@ static void mnodeAddCpuInfo(SBufferWriter* bw) { ...@@ -100,11 +100,11 @@ static void mnodeAddCpuInfo(SBufferWriter* bw) {
line[size - 1] = '\0'; line[size - 1] = '\0';
if (((done & 1) == 0) && strncmp(line, "model name", 10) == 0) { if (((done & 1) == 0) && strncmp(line, "model name", 10) == 0) {
const char* v = strchr(line, ':') + 2; const char* v = strchr(line, ':') + 2;
mnodeAddStringField(bw, "cpuModel", v); mndAddStringField(bw, "cpuModel", v);
done |= 1; done |= 1;
} else if (((done & 2) == 0) && strncmp(line, "cpu cores", 9) == 0) { } else if (((done & 2) == 0) && strncmp(line, "cpu cores", 9) == 0) {
const char* v = strchr(line, ':') + 2; const char* v = strchr(line, ':') + 2;
mnodeWriteString(bw, "numOfCpu"); mndWriteString(bw, "numOfCpu");
tbufWriteChar(bw, ':'); tbufWriteChar(bw, ':');
tbufWrite(bw, v, strlen(v)); tbufWrite(bw, v, strlen(v));
tbufWriteChar(bw, ','); tbufWriteChar(bw, ',');
...@@ -116,7 +116,7 @@ static void mnodeAddCpuInfo(SBufferWriter* bw) { ...@@ -116,7 +116,7 @@ static void mnodeAddCpuInfo(SBufferWriter* bw) {
fclose(fp); fclose(fp);
} }
static void mnodeAddOsInfo(SBufferWriter* bw) { static void mndAddOsInfo(SBufferWriter* bw) {
char* line = NULL; char* line = NULL;
size_t size = 0; size_t size = 0;
...@@ -133,7 +133,7 @@ static void mnodeAddOsInfo(SBufferWriter* bw) { ...@@ -133,7 +133,7 @@ static void mnodeAddOsInfo(SBufferWriter* bw) {
p++; p++;
line[size - 2] = 0; line[size - 2] = 0;
} }
mnodeAddStringField(bw, "os", p); mndAddStringField(bw, "os", p);
break; break;
} }
} }
...@@ -142,7 +142,7 @@ static void mnodeAddOsInfo(SBufferWriter* bw) { ...@@ -142,7 +142,7 @@ static void mnodeAddOsInfo(SBufferWriter* bw) {
fclose(fp); fclose(fp);
} }
static void mnodeAddMemoryInfo(SBufferWriter* bw) { static void mndAddMemoryInfo(SBufferWriter* bw) {
char* line = NULL; char* line = NULL;
size_t size = 0; size_t size = 0;
...@@ -156,7 +156,7 @@ static void mnodeAddMemoryInfo(SBufferWriter* bw) { ...@@ -156,7 +156,7 @@ static void mnodeAddMemoryInfo(SBufferWriter* bw) {
if (strncmp(line, "MemTotal", 8) == 0) { if (strncmp(line, "MemTotal", 8) == 0) {
const char* p = strchr(line, ':') + 1; const char* p = strchr(line, ':') + 1;
while (*p == ' ') p++; while (*p == ' ') p++;
mnodeAddStringField(bw, "memory", p); mndAddStringField(bw, "memory", p);
break; break;
} }
} }
...@@ -165,32 +165,32 @@ static void mnodeAddMemoryInfo(SBufferWriter* bw) { ...@@ -165,32 +165,32 @@ static void mnodeAddMemoryInfo(SBufferWriter* bw) {
fclose(fp); fclose(fp);
} }
static void mnodeAddVersionInfo(SBufferWriter* bw) { static void mndAddVersionInfo(SBufferWriter* bw) {
mnodeAddStringField(bw, "version", version); mndAddStringField(bw, "version", version);
mnodeAddStringField(bw, "buildInfo", buildinfo); mndAddStringField(bw, "buildInfo", buildinfo);
mnodeAddStringField(bw, "gitInfo", gitinfo); mndAddStringField(bw, "gitInfo", gitinfo);
mnodeAddStringField(bw, "email", tsTelem.email); mndAddStringField(bw, "email", tsTelem.email);
} }
static void mnodeAddRuntimeInfo(SBufferWriter* bw) { static void mndAddRuntimeInfo(SBufferWriter* bw) {
SMnodeLoad load = {0}; SMnodeLoad load = {0};
if (mndGetLoad(NULL, &load) != 0) { if (mndGetLoad(NULL, &load) != 0) {
return; return;
} }
mnodeAddIntField(bw, "numOfDnode", load.numOfDnode); mndAddIntField(bw, "numOfDnode", load.numOfDnode);
mnodeAddIntField(bw, "numOfMnode", load.numOfMnode); mndAddIntField(bw, "numOfMnode", load.numOfMnode);
mnodeAddIntField(bw, "numOfVgroup", load.numOfVgroup); mndAddIntField(bw, "numOfVgroup", load.numOfVgroup);
mnodeAddIntField(bw, "numOfDatabase", load.numOfDatabase); mndAddIntField(bw, "numOfDatabase", load.numOfDatabase);
mnodeAddIntField(bw, "numOfSuperTable", load.numOfSuperTable); mndAddIntField(bw, "numOfSuperTable", load.numOfSuperTable);
mnodeAddIntField(bw, "numOfChildTable", load.numOfChildTable); mndAddIntField(bw, "numOfChildTable", load.numOfChildTable);
mnodeAddIntField(bw, "numOfColumn", load.numOfColumn); mndAddIntField(bw, "numOfColumn", load.numOfColumn);
mnodeAddIntField(bw, "numOfPoint", load.totalPoints); mndAddIntField(bw, "numOfPoint", load.totalPoints);
mnodeAddIntField(bw, "totalStorage", load.totalStorage); mndAddIntField(bw, "totalStorage", load.totalStorage);
mnodeAddIntField(bw, "compStorage", load.compStorage); mndAddIntField(bw, "compStorage", load.compStorage);
} }
static void mnodeSendTelemetryReport() { static void mndSendTelemetryReport() {
char buf[128] = {0}; char buf[128] = {0};
uint32_t ip = taosGetIpv4FromFqdn(TELEMETRY_SERVER); uint32_t ip = taosGetIpv4FromFqdn(TELEMETRY_SERVER);
if (ip == 0xffffffff) { if (ip == 0xffffffff) {
...@@ -208,15 +208,15 @@ static void mnodeSendTelemetryReport() { ...@@ -208,15 +208,15 @@ static void mnodeSendTelemetryReport() {
snprintf(clusterIdStr, sizeof(clusterIdStr), "%" PRId64, clusterId); snprintf(clusterIdStr, sizeof(clusterIdStr), "%" PRId64, clusterId);
SBufferWriter bw = tbufInitWriter(NULL, false); SBufferWriter bw = tbufInitWriter(NULL, false);
mnodeBeginObject(&bw); mndBeginObject(&bw);
mnodeAddStringField(&bw, "instanceId", clusterIdStr); mndAddStringField(&bw, "instanceId", clusterIdStr);
mnodeAddIntField(&bw, "reportVersion", 1); mndAddIntField(&bw, "reportVersion", 1);
mnodeAddOsInfo(&bw); mndAddOsInfo(&bw);
mnodeAddCpuInfo(&bw); mndAddCpuInfo(&bw);
mnodeAddMemoryInfo(&bw); mndAddMemoryInfo(&bw);
mnodeAddVersionInfo(&bw); mndAddVersionInfo(&bw);
mnodeAddRuntimeInfo(&bw); mndAddRuntimeInfo(&bw);
mnodeCloseObject(&bw); mndCloseObject(&bw);
const char* header = const char* header =
"POST /report HTTP/1.1\n" "POST /report HTTP/1.1\n"
...@@ -240,12 +240,12 @@ static void mnodeSendTelemetryReport() { ...@@ -240,12 +240,12 @@ static void mnodeSendTelemetryReport() {
taosCloseSocket(fd); taosCloseSocket(fd);
} }
static void* mnodeTelemThreadFp(void* param) { static void* mndTelemThreadFp(void* param) {
struct timespec end = {0}; struct timespec end = {0};
clock_gettime(CLOCK_REALTIME, &end); clock_gettime(CLOCK_REALTIME, &end);
end.tv_sec += 300; // wait 5 minutes before send first report end.tv_sec += 300; // wait 5 minutes before send first report
setThreadName("mnode-telem"); setThreadName("mnd-telem");
while (!tsTelem.exit) { while (!tsTelem.exit) {
int32_t r = 0; int32_t r = 0;
...@@ -256,8 +256,8 @@ static void* mnodeTelemThreadFp(void* param) { ...@@ -256,8 +256,8 @@ static void* mnodeTelemThreadFp(void* param) {
if (r == 0) break; if (r == 0) break;
if (r != ETIMEDOUT) continue; if (r != ETIMEDOUT) continue;
if (mnodeIsMaster()) { if (mndIsMaster()) {
mnodeSendTelemetryReport(); mndSendTelemetryReport();
} }
end.tv_sec += REPORT_INTERVAL; end.tv_sec += REPORT_INTERVAL;
} }
...@@ -265,7 +265,7 @@ static void* mnodeTelemThreadFp(void* param) { ...@@ -265,7 +265,7 @@ static void* mnodeTelemThreadFp(void* param) {
return NULL; return NULL;
} }
static void mnodeGetEmail(char* filepath) { static void mndGetEmail(char* filepath) {
int32_t fd = taosOpenFileRead(filepath); int32_t fd = taosOpenFileRead(filepath);
if (fd < 0) { if (fd < 0) {
return; return;
...@@ -287,19 +287,19 @@ int32_t mndInitTelem() { ...@@ -287,19 +287,19 @@ int32_t mndInitTelem() {
pthread_cond_init(&tsTelem.cond, NULL); pthread_cond_init(&tsTelem.cond, NULL);
tsTelem.email[0] = 0; tsTelem.email[0] = 0;
mnodeGetEmail("/usr/local/taos/email"); mndGetEmail("/usr/local/taos/email");
pthread_attr_t attr; pthread_attr_t attr;
pthread_attr_init(&attr); pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
int32_t code = pthread_create(&tsTelem.thread, &attr, mnodeTelemThreadFp, NULL); int32_t code = pthread_create(&tsTelem.thread, &attr, mndTelemThreadFp, NULL);
pthread_attr_destroy(&attr); pthread_attr_destroy(&attr);
if (code != 0) { if (code != 0) {
mTrace("failed to create telemetry thread since :%s", strerror(code)); mTrace("failed to create telemetry thread since :%s", strerror(code));
} }
mInfo("mnode telemetry is initialized"); mInfo("mnd telemetry is initialized");
return 0; return 0;
} }
......
...@@ -15,14 +15,12 @@ ...@@ -15,14 +15,12 @@
#define _DEFAULT_SOURCE #define _DEFAULT_SOURCE
#include "mndSync.h" #include "mndSync.h"
#include "os.h"
#include "tglobal.h"
#include "tkey.h" #include "tkey.h"
#include "mndTrans.h" #include "mndTrans.h"
#define SDB_USER_VER 1 #define SDB_USER_VER 1
static SSdbRaw *mnodeUserActionEncode(SUserObj *pUser) { static SSdbRaw *mndUserActionEncode(SUserObj *pUser) {
SSdbRaw *pRaw = sdbAllocRaw(SDB_USER, SDB_USER_VER, sizeof(SAcctObj)); SSdbRaw *pRaw = sdbAllocRaw(SDB_USER, SDB_USER_VER, sizeof(SAcctObj));
if (pRaw == NULL) return NULL; if (pRaw == NULL) return NULL;
...@@ -38,7 +36,7 @@ static SSdbRaw *mnodeUserActionEncode(SUserObj *pUser) { ...@@ -38,7 +36,7 @@ static SSdbRaw *mnodeUserActionEncode(SUserObj *pUser) {
return pRaw; return pRaw;
} }
static SSdbRow *mnodeUserActionDecode(SSdbRaw *pRaw) { static SSdbRow *mndUserActionDecode(SSdbRaw *pRaw) {
int8_t sver = 0; int8_t sver = 0;
if (sdbGetRawSoftVer(pRaw, &sver) != 0) return NULL; if (sdbGetRawSoftVer(pRaw, &sver) != 0) return NULL;
...@@ -62,7 +60,7 @@ static SSdbRow *mnodeUserActionDecode(SSdbRaw *pRaw) { ...@@ -62,7 +60,7 @@ static SSdbRow *mnodeUserActionDecode(SSdbRaw *pRaw) {
return pRow; return pRow;
} }
static int32_t mnodeUserActionInsert(SUserObj *pUser) { static int32_t mndUserActionInsert(SUserObj *pUser) {
pUser->prohibitDbHash = taosHashInit(8, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, HASH_ENTRY_LOCK); pUser->prohibitDbHash = taosHashInit(8, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, HASH_ENTRY_LOCK);
if (pUser->prohibitDbHash == NULL) { if (pUser->prohibitDbHash == NULL) {
terrno = TSDB_CODE_OUT_OF_MEMORY; terrno = TSDB_CODE_OUT_OF_MEMORY;
...@@ -78,7 +76,7 @@ static int32_t mnodeUserActionInsert(SUserObj *pUser) { ...@@ -78,7 +76,7 @@ static int32_t mnodeUserActionInsert(SUserObj *pUser) {
return 0; return 0;
} }
static int32_t mnodeUserActionDelete(SUserObj *pUser) { static int32_t mndUserActionDelete(SUserObj *pUser) {
if (pUser->prohibitDbHash) { if (pUser->prohibitDbHash) {
taosHashCleanup(pUser->prohibitDbHash); taosHashCleanup(pUser->prohibitDbHash);
pUser->prohibitDbHash = NULL; pUser->prohibitDbHash = NULL;
...@@ -92,14 +90,14 @@ static int32_t mnodeUserActionDelete(SUserObj *pUser) { ...@@ -92,14 +90,14 @@ static int32_t mnodeUserActionDelete(SUserObj *pUser) {
return 0; return 0;
} }
static int32_t mnodeUserActionUpdate(SUserObj *pSrcUser, SUserObj *pDstUser) { static int32_t mndUserActionUpdate(SUserObj *pSrcUser, SUserObj *pDstUser) {
SUserObj tObj; SUserObj tObj;
int32_t len = (int32_t)((int8_t *)tObj.prohibitDbHash - (int8_t *)&tObj); int32_t len = (int32_t)((int8_t *)tObj.prohibitDbHash - (int8_t *)&tObj);
memcpy(pDstUser, pSrcUser, len); memcpy(pDstUser, pSrcUser, len);
return 0; return 0;
} }
static int32_t mnodeCreateDefaultUser(char *acct, char *user, char *pass) { static int32_t mndCreateDefaultUser(char *acct, char *user, char *pass) {
SUserObj userObj = {0}; SUserObj userObj = {0};
tstrncpy(userObj.user, user, TSDB_USER_LEN); tstrncpy(userObj.user, user, TSDB_USER_LEN);
tstrncpy(userObj.acct, acct, TSDB_USER_LEN); tstrncpy(userObj.acct, acct, TSDB_USER_LEN);
...@@ -111,30 +109,26 @@ static int32_t mnodeCreateDefaultUser(char *acct, char *user, char *pass) { ...@@ -111,30 +109,26 @@ static int32_t mnodeCreateDefaultUser(char *acct, char *user, char *pass) {
userObj.rootAuth = 1; userObj.rootAuth = 1;
} }
SSdbRaw *pRaw = mnodeUserActionEncode(&userObj); SSdbRaw *pRaw = mndUserActionEncode(&userObj);
if (pRaw == NULL) return -1; if (pRaw == NULL) return -1;
sdbSetRawStatus(pRaw, SDB_STATUS_READY); sdbSetRawStatus(pRaw, SDB_STATUS_READY);
return sdbWrite(pRaw); return sdbWrite(pRaw);
} }
static int32_t mnodeCreateDefaultUsers() { static int32_t mndCreateDefaultUsers() {
if (mnodeCreateDefaultUser(TSDB_DEFAULT_USER, TSDB_DEFAULT_USER, TSDB_DEFAULT_PASS) != 0) { if (mndCreateDefaultUser(TSDB_DEFAULT_USER, TSDB_DEFAULT_USER, TSDB_DEFAULT_PASS) != 0) {
return -1; return -1;
} }
if (mnodeCreateDefaultUser(TSDB_DEFAULT_USER, "monitor", tsInternalPass) != 0) { if (mndCreateDefaultUser(TSDB_DEFAULT_USER, "_" TSDB_DEFAULT_USER, TSDB_DEFAULT_PASS) != 0) {
return -1;
}
if (mnodeCreateDefaultUser(TSDB_DEFAULT_USER, "_" TSDB_DEFAULT_USER, tsInternalPass) != 0) {
return -1; return -1;
} }
return 0; return 0;
} }
static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pMsg) { static int32_t mndCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pMsg) {
SUserObj userObj = {0}; SUserObj userObj = {0};
tstrncpy(userObj.user, user, TSDB_USER_LEN); tstrncpy(userObj.user, user, TSDB_USER_LEN);
tstrncpy(userObj.acct, acct, TSDB_USER_LEN); tstrncpy(userObj.acct, acct, TSDB_USER_LEN);
...@@ -146,7 +140,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM ...@@ -146,7 +140,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM
STrans *pTrans = trnCreate(TRN_POLICY_ROLLBACK, pMsg->rpcMsg.handle); STrans *pTrans = trnCreate(TRN_POLICY_ROLLBACK, pMsg->rpcMsg.handle);
if (pTrans == NULL) return -1; if (pTrans == NULL) return -1;
SSdbRaw *pRedoRaw = mnodeUserActionEncode(&userObj); SSdbRaw *pRedoRaw = mndUserActionEncode(&userObj);
if (pRedoRaw == NULL || trnAppendRedoLog(pTrans, pRedoRaw) != 0) { if (pRedoRaw == NULL || trnAppendRedoLog(pTrans, pRedoRaw) != 0) {
mError("failed to append redo log since %s", terrstr()); mError("failed to append redo log since %s", terrstr());
trnDrop(pTrans); trnDrop(pTrans);
...@@ -154,7 +148,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM ...@@ -154,7 +148,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM
} }
sdbSetRawStatus(pRedoRaw, SDB_STATUS_CREATING); sdbSetRawStatus(pRedoRaw, SDB_STATUS_CREATING);
SSdbRaw *pUndoRaw = mnodeUserActionEncode(&userObj); SSdbRaw *pUndoRaw = mndUserActionEncode(&userObj);
if (pUndoRaw == NULL || trnAppendUndoLog(pTrans, pUndoRaw) != 0) { if (pUndoRaw == NULL || trnAppendUndoLog(pTrans, pUndoRaw) != 0) {
mError("failed to append undo log since %s", terrstr()); mError("failed to append undo log since %s", terrstr());
trnDrop(pTrans); trnDrop(pTrans);
...@@ -162,7 +156,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM ...@@ -162,7 +156,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM
} }
sdbSetRawStatus(pUndoRaw, SDB_STATUS_DROPPED); sdbSetRawStatus(pUndoRaw, SDB_STATUS_DROPPED);
SSdbRaw *pCommitRaw = mnodeUserActionEncode(&userObj); SSdbRaw *pCommitRaw = mndUserActionEncode(&userObj);
if (pCommitRaw == NULL || trnAppendCommitLog(pTrans, pCommitRaw) != 0) { if (pCommitRaw == NULL || trnAppendCommitLog(pTrans, pCommitRaw) != 0) {
mError("failed to append commit log since %s", terrstr()); mError("failed to append commit log since %s", terrstr());
trnDrop(pTrans); trnDrop(pTrans);
...@@ -170,7 +164,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM ...@@ -170,7 +164,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM
} }
sdbSetRawStatus(pCommitRaw, SDB_STATUS_READY); sdbSetRawStatus(pCommitRaw, SDB_STATUS_READY);
if (trnPrepare(pTrans, mnodeSyncPropose) != 0) { if (trnPrepare(pTrans, mndSyncPropose) != 0) {
trnDrop(pTrans); trnDrop(pTrans);
return -1; return -1;
} }
...@@ -179,7 +173,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM ...@@ -179,7 +173,7 @@ static int32_t mnodeCreateUser(char *acct, char *user, char *pass, SMnodeMsg *pM
return 0; return 0;
} }
static int32_t mnodeProcessCreateUserMsg(SMnode *pMnode, SMnodeMsg *pMsg) { static int32_t mndProcessCreateUserMsg(SMnode *pMnode, SMnodeMsg *pMsg) {
SCreateUserMsg *pCreate = pMsg->rpcMsg.pCont; SCreateUserMsg *pCreate = pMsg->rpcMsg.pCont;
if (pCreate->user[0] == 0) { if (pCreate->user[0] == 0) {
...@@ -209,7 +203,7 @@ static int32_t mnodeProcessCreateUserMsg(SMnode *pMnode, SMnodeMsg *pMsg) { ...@@ -209,7 +203,7 @@ static int32_t mnodeProcessCreateUserMsg(SMnode *pMnode, SMnodeMsg *pMsg) {
return -1; return -1;
} }
int32_t code = mnodeCreateUser(pOperUser->acct, pCreate->user, pCreate->pass, pMsg); int32_t code = mndCreateUser(pOperUser->acct, pCreate->user, pCreate->pass, pMsg);
sdbRelease(pOperUser); sdbRelease(pOperUser);
if (code != 0) { if (code != 0) {
...@@ -223,15 +217,15 @@ static int32_t mnodeProcessCreateUserMsg(SMnode *pMnode, SMnodeMsg *pMsg) { ...@@ -223,15 +217,15 @@ static int32_t mnodeProcessCreateUserMsg(SMnode *pMnode, SMnodeMsg *pMsg) {
int32_t mndInitUser() { int32_t mndInitUser() {
SSdbTable table = {.sdbType = SDB_USER, SSdbTable table = {.sdbType = SDB_USER,
.keyType = SDB_KEY_BINARY, .keyType = SDB_KEY_BINARY,
.deployFp = (SdbDeployFp)mnodeCreateDefaultUsers, .deployFp = (SdbDeployFp)mndCreateDefaultUsers,
.encodeFp = (SdbEncodeFp)mnodeUserActionEncode, .encodeFp = (SdbEncodeFp)mndUserActionEncode,
.decodeFp = (SdbDecodeFp)mnodeUserActionDecode, .decodeFp = (SdbDecodeFp)mndUserActionDecode,
.insertFp = (SdbInsertFp)mnodeUserActionInsert, .insertFp = (SdbInsertFp)mndUserActionInsert,
.updateFp = (SdbUpdateFp)mnodeUserActionUpdate, .updateFp = (SdbUpdateFp)mndUserActionUpdate,
.deleteFp = (SdbDeleteFp)mnodeUserActionDelete}; .deleteFp = (SdbDeleteFp)mndUserActionDelete};
sdbSetTable(table); sdbSetTable(table);
mndSetMsgHandle(NULL, TSDB_MSG_TYPE_CREATE_USER, mnodeProcessCreateUserMsg); mndSetMsgHandle(NULL, TSDB_MSG_TYPE_CREATE_USER, mndProcessCreateUserMsg);
return 0; return 0;
} }
......
...@@ -278,28 +278,44 @@ void mndSendRsp(SMnodeMsg *pMsg, int32_t code) {} ...@@ -278,28 +278,44 @@ void mndSendRsp(SMnodeMsg *pMsg, int32_t code) {}
static void mndProcessRpcMsg(SMnodeMsg *pMsg) { static void mndProcessRpcMsg(SMnodeMsg *pMsg) {
SMnode *pMnode = pMsg->pMnode; SMnode *pMnode = pMsg->pMnode;
int32_t code = 0;
int32_t msgType = pMsg->rpcMsg.msgType;
void *ahandle = pMsg->rpcMsg.ahandle;
bool isReq = (msgType % 2 == 1);
if (!mnodeIsMaster(pMnode)) { if (isReq && !mndIsMaster(pMnode)) {
mndSendRedirectMsg(pMnode, &pMsg->rpcMsg); code = TSDB_CODE_APP_NOT_READY;
mndCleanupMsg(pMsg); goto PROCESS_RPC_END;
return; }
if (isReq && pMsg->rpcMsg.pCont == NULL) {
mError("msg:%p, app:%p type:%s content is null", pMsg, ahandle, taosMsg[msgType]);
code = TSDB_CODE_MND_INVALID_MSG_LEN;
goto PROCESS_RPC_END;
} }
int32_t msgType = pMsg->rpcMsg.msgType;
MndMsgFp fp = pMnode->msgFp[msgType]; MndMsgFp fp = pMnode->msgFp[msgType];
if (fp == NULL) { if (fp == NULL) {
mError("RPC %p, req:%s is not processed", pMsg->rpcMsg.handle, taosMsg[msgType]); mError("msg:%p, app:%p type:%s not processed", pMsg, ahandle, taosMsg[msgType]);
SRpcMsg rspMsg = {.handle = pMsg->rpcMsg.handle, .code = TSDB_CODE_MSG_NOT_PROCESSED}; code = TSDB_CODE_MSG_NOT_PROCESSED;
rpcSendResponse(&rspMsg); goto PROCESS_RPC_END;
mndCleanupMsg(pMsg);
return;
} }
int32_t code = (*fp)(pMnode, pMsg); code = (*fp)(pMnode, pMsg);
if (code != 0) { if (code != 0) {
mError("RPC %p, req:%s processed error since %s", pMsg->rpcMsg.handle, taosMsg[msgType], tstrerror(code)); mError("msg:%p, app:%p type:%s failed to process since %s", pMsg, ahandle, taosMsg[msgType], tstrerror(code));
SRpcMsg rspMsg = {.handle = pMsg->rpcMsg.handle, .code = TSDB_CODE_MSG_NOT_PROCESSED}; goto PROCESS_RPC_END;
rpcSendResponse(&rspMsg); }
PROCESS_RPC_END:
if (isReq) {
if (code == TSDB_CODE_APP_NOT_READY) {
mndSendRedirectMsg(pMnode, &pMsg->rpcMsg);
} else if (code != 0) {
SRpcMsg rspMsg = {.handle = pMsg->rpcMsg.handle, .code = code};
rpcSendResponse(&rspMsg);
} else {
}
} }
mndCleanupMsg(pMsg); mndCleanupMsg(pMsg);
...@@ -318,139 +334,3 @@ void mndProcessWriteMsg(SMnodeMsg *pMsg) { mndProcessRpcMsg(pMsg); } ...@@ -318,139 +334,3 @@ void mndProcessWriteMsg(SMnodeMsg *pMsg) { mndProcessRpcMsg(pMsg); }
void mndProcessSyncMsg(SMnodeMsg *pMsg) { mndProcessRpcMsg(pMsg); } void mndProcessSyncMsg(SMnodeMsg *pMsg) { mndProcessRpcMsg(pMsg); }
void mndProcessApplyMsg(SMnodeMsg *pMsg) {} void mndProcessApplyMsg(SMnodeMsg *pMsg) {}
#if 0
static void mnodeProcessWriteReq(SMnodeMsg *pMsg, void *unused) {
int32_t msgType = pMsg->rpcMsg.msgType;
void *ahandle = pMsg->rpcMsg.ahandle;
int32_t code = 0;
if (pMsg->rpcMsg.pCont == NULL) {
mError("msg:%p, app:%p type:%s content is null", pMsg, ahandle, taosMsg[msgType]);
code = TSDB_CODE_MND_INVALID_MSG_LEN;
goto PROCESS_WRITE_REQ_END;
}
if (!mnodeIsMaster()) {
SMnodeRsp *rpcRsp = &pMsg->rpcRsp;
SEpSet *epSet = rpcMallocCont(sizeof(SEpSet));
mnodeGetMnodeEpSetForShell(epSet, true);
rpcRsp->rsp = epSet;
rpcRsp->len = sizeof(SEpSet);
mDebug("msg:%p, app:%p type:%s in write queue, is redirected, numOfEps:%d inUse:%d", pMsg, ahandle,
taosMsg[msgType], epSet->numOfEps, epSet->inUse);
code = TSDB_CODE_RPC_REDIRECT;
goto PROCESS_WRITE_REQ_END;
}
if (tsMworker.writeMsgFp[msgType] == NULL) {
mError("msg:%p, app:%p type:%s not processed", pMsg, ahandle, taosMsg[msgType]);
code = TSDB_CODE_MND_MSG_NOT_PROCESSED;
goto PROCESS_WRITE_REQ_END;
}
code = (*tsMworker.writeMsgFp[msgType])(pMsg);
PROCESS_WRITE_REQ_END:
mndSendRsp(pMsg, code);
}
static void mnodeProcessReadReq(SMnodeMsg *pMsg, void *unused) {
int32_t msgType = pMsg->rpcMsg.msgType;
void *ahandle = pMsg->rpcMsg.ahandle;
int32_t code = 0;
if (pMsg->rpcMsg.pCont == NULL) {
mError("msg:%p, app:%p type:%s in mread queue, content is null", pMsg, ahandle, taosMsg[msgType]);
code = TSDB_CODE_MND_INVALID_MSG_LEN;
goto PROCESS_READ_REQ_END;
}
if (!mnodeIsMaster()) {
SMnodeRsp *rpcRsp = &pMsg->rpcRsp;
SEpSet *epSet = rpcMallocCont(sizeof(SEpSet));
if (!epSet) {
code = TSDB_CODE_OUT_OF_MEMORY;
goto PROCESS_READ_REQ_END;
}
mnodeGetMnodeEpSetForShell(epSet, true);
rpcRsp->rsp = epSet;
rpcRsp->len = sizeof(SEpSet);
mDebug("msg:%p, app:%p type:%s in mread queue is redirected, numOfEps:%d inUse:%d", pMsg, ahandle, taosMsg[msgType],
epSet->numOfEps, epSet->inUse);
code = TSDB_CODE_RPC_REDIRECT;
goto PROCESS_READ_REQ_END;
}
if (tsMworker.readMsgFp[msgType] == NULL) {
mError("msg:%p, app:%p type:%s in mread queue, not processed", pMsg, ahandle, taosMsg[msgType]);
code = TSDB_CODE_MND_MSG_NOT_PROCESSED;
goto PROCESS_READ_REQ_END;
}
mTrace("msg:%p, app:%p type:%s will be processed in mread queue", pMsg, ahandle, taosMsg[msgType]);
code = (*tsMworker.readMsgFp[msgType])(pMsg);
PROCESS_READ_REQ_END:
mndSendRsp(pMsg, code);
}
static void mnodeProcessPeerReq(SMnodeMsg *pMsg, void *unused) {
int32_t msgType = pMsg->rpcMsg.msgType;
void *ahandle = pMsg->rpcMsg.ahandle;
int32_t code = 0;
if (pMsg->rpcMsg.pCont == NULL) {
mError("msg:%p, ahandle:%p type:%s in mpeer queue, content is null", pMsg, ahandle, taosMsg[msgType]);
code = TSDB_CODE_MND_INVALID_MSG_LEN;
goto PROCESS_PEER_REQ_END;
}
if (!mnodeIsMaster()) {
SMnodeRsp *rpcRsp = &pMsg->rpcRsp;
SEpSet *epSet = rpcMallocCont(sizeof(SEpSet));
mnodeGetMnodeEpSetForPeer(epSet, true);
rpcRsp->rsp = epSet;
rpcRsp->len = sizeof(SEpSet);
mDebug("msg:%p, ahandle:%p type:%s in mpeer queue is redirected, numOfEps:%d inUse:%d", pMsg, ahandle,
taosMsg[msgType], epSet->numOfEps, epSet->inUse);
code = TSDB_CODE_RPC_REDIRECT;
goto PROCESS_PEER_REQ_END;
}
if (tsMworker.peerReqFp[msgType] == NULL) {
mError("msg:%p, ahandle:%p type:%s in mpeer queue, not processed", pMsg, ahandle, taosMsg[msgType]);
code = TSDB_CODE_MND_MSG_NOT_PROCESSED;
goto PROCESS_PEER_REQ_END;
}
code = (*tsMworker.peerReqFp[msgType])(pMsg);
PROCESS_PEER_REQ_END:
mndSendRsp(pMsg, code);
}
static void mnodeProcessPeerRsp(SMnodeMsg *pMsg, void *unused) {
int32_t msgType = pMsg->rpcMsg.msgType;
SRpcMsg *pRpcMsg = &pMsg->rpcMsg;
if (!mnodeIsMaster()) {
mError("msg:%p, ahandle:%p type:%s not processed for not master", pRpcMsg, pRpcMsg->ahandle, taosMsg[msgType]);
mndCleanupMsg2(pMsg);
}
if (tsMworker.peerRspFp[msgType]) {
(*tsMworker.peerRspFp[msgType])(pRpcMsg);
} else {
mError("msg:%p, ahandle:%p type:%s is not processed", pRpcMsg, pRpcMsg->ahandle, taosMsg[msgType]);
}
mndCleanupMsg2(pMsg);
}
#endif
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册