TD-10431 show mnode
This commit is contained in:
parent
021c517629
commit
bb1d721ead
|
@ -51,27 +51,23 @@ TestServer DndTestMnode::server4;
|
||||||
TestServer DndTestMnode::server5;
|
TestServer DndTestMnode::server5;
|
||||||
|
|
||||||
TEST_F(DndTestMnode, 01_ShowDnode) {
|
TEST_F(DndTestMnode, 01_ShowDnode) {
|
||||||
test.SendShowMetaMsg(TSDB_MGMT_TABLE_DNODE, "");
|
test.SendShowMetaMsg(TSDB_MGMT_TABLE_MNODE, "");
|
||||||
CHECK_META("show dnodes", 7);
|
CHECK_META("show mnodes", 5);
|
||||||
|
|
||||||
CHECK_SCHEMA(0, TSDB_DATA_TYPE_SMALLINT, 2, "id");
|
CHECK_SCHEMA(0, TSDB_DATA_TYPE_SMALLINT, 2, "id");
|
||||||
CHECK_SCHEMA(1, TSDB_DATA_TYPE_BINARY, TSDB_EP_LEN + VARSTR_HEADER_SIZE, "endpoint");
|
CHECK_SCHEMA(1, TSDB_DATA_TYPE_BINARY, TSDB_EP_LEN + VARSTR_HEADER_SIZE, "endpoint");
|
||||||
CHECK_SCHEMA(2, TSDB_DATA_TYPE_SMALLINT, 2, "vnodes");
|
CHECK_SCHEMA(2, TSDB_DATA_TYPE_BINARY, 12 + VARSTR_HEADER_SIZE, "role");
|
||||||
CHECK_SCHEMA(3, TSDB_DATA_TYPE_SMALLINT, 2, "max_vnodes");
|
CHECK_SCHEMA(3, TSDB_DATA_TYPE_TIMESTAMP, 8, "role_time");
|
||||||
CHECK_SCHEMA(4, TSDB_DATA_TYPE_BINARY, 10 + VARSTR_HEADER_SIZE, "status");
|
CHECK_SCHEMA(4, TSDB_DATA_TYPE_TIMESTAMP, 8, "create_time");
|
||||||
CHECK_SCHEMA(5, TSDB_DATA_TYPE_TIMESTAMP, 8, "create_time");
|
|
||||||
CHECK_SCHEMA(6, TSDB_DATA_TYPE_BINARY, 24 + VARSTR_HEADER_SIZE, "offline_reason");
|
|
||||||
|
|
||||||
test.SendShowRetrieveMsg();
|
test.SendShowRetrieveMsg();
|
||||||
EXPECT_EQ(test.GetShowRows(), 1);
|
EXPECT_EQ(test.GetShowRows(), 1);
|
||||||
|
|
||||||
CheckInt16(1);
|
CheckInt16(1);
|
||||||
CheckBinary("localhost:9061", TSDB_EP_LEN);
|
CheckBinary("localhost:9061", TSDB_EP_LEN);
|
||||||
CheckInt16(0);
|
CheckBinary("master", 12);
|
||||||
CheckInt16(1);
|
CheckInt64(0);
|
||||||
CheckBinary("ready", 10);
|
|
||||||
CheckTimestamp();
|
CheckTimestamp();
|
||||||
CheckBinary("", 24);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
|
|
@ -27,6 +27,7 @@ void mndCleanupMnode(SMnode *pMnode);
|
||||||
bool mndIsMnode(SMnode *pMnode, int32_t dnodeId);
|
bool mndIsMnode(SMnode *pMnode, int32_t dnodeId);
|
||||||
void mndGetMnodeEpSet(SMnode *pMnode, SEpSet *pEpSet);
|
void mndGetMnodeEpSet(SMnode *pMnode, SEpSet *pEpSet);
|
||||||
char *mndGetRoleStr(int32_t role);
|
char *mndGetRoleStr(int32_t role);
|
||||||
|
void mndUpdateMnodeRole(SMnode *pMnode);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,24 @@ char *mndGetRoleStr(int32_t showType) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mndUpdateMnodeRole(SMnode *pMnode) {
|
||||||
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
|
void *pIter = NULL;
|
||||||
|
while (1) {
|
||||||
|
SMnodeObj *pObj = NULL;
|
||||||
|
pIter = sdbFetch(pSdb, SDB_MNODE, pIter, (void **)&pObj);
|
||||||
|
if (pIter == NULL) break;
|
||||||
|
|
||||||
|
if (pObj->id == 1) {
|
||||||
|
pObj->role = TAOS_SYNC_STATE_LEADER;
|
||||||
|
} else {
|
||||||
|
pObj->role = TAOS_SYNC_STATE_CANDIDATE;
|
||||||
|
}
|
||||||
|
|
||||||
|
sdbRelease(pSdb, pObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t mndCreateDefaultMnode(SMnode *pMnode) {
|
static int32_t mndCreateDefaultMnode(SMnode *pMnode) {
|
||||||
SMnodeObj mnodeObj = {0};
|
SMnodeObj mnodeObj = {0};
|
||||||
mnodeObj.id = 1;
|
mnodeObj.id = 1;
|
||||||
|
@ -595,6 +613,7 @@ static int32_t mndGetMnodeMeta(SMnodeMsg *pMsg, SShowObj *pShow, STableMetaMsg *
|
||||||
pShow->rowSize = pShow->offset[cols - 1] + pShow->bytes[cols - 1];
|
pShow->rowSize = pShow->offset[cols - 1] + pShow->bytes[cols - 1];
|
||||||
strcpy(pMeta->tbFname, mndShowStr(pShow->type));
|
strcpy(pMeta->tbFname, mndShowStr(pShow->type));
|
||||||
|
|
||||||
|
mndUpdateMnodeRole(pMnode);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,4 +33,7 @@ int32_t mndSyncPropose(SMnode *pMnode, SSdbRaw *pRaw) {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool mndIsMaster(SMnode *pMnode) { return true; }
|
bool mndIsMaster(SMnode *pMnode) {
|
||||||
|
// pMnode->role = TAOS_SYNC_STATE_LEADER;
|
||||||
|
return true;
|
||||||
|
}
|
Loading…
Reference in New Issue