未验证 提交 9ed8a212 编写于 作者: S Shengliang Guan 提交者: GitHub

Merge pull request #19054 from taosdata/fix/TD-21388

fix: the mnode is also offline when dnode on it is offline
...@@ -633,6 +633,7 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB ...@@ -633,6 +633,7 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
const char *status = "ready"; const char *status = "ready";
if (objStatus == SDB_STATUS_CREATING) status = "creating"; if (objStatus == SDB_STATUS_CREATING) status = "creating";
if (objStatus == SDB_STATUS_DROPPING) status = "dropping"; if (objStatus == SDB_STATUS_DROPPING) status = "dropping";
if (!mndIsDnodeOnline(pObj->pDnode, curMs)) status = "offline";
char b3[9 + VARSTR_HEADER_SIZE] = {0}; char b3[9 + VARSTR_HEADER_SIZE] = {0};
STR_WITH_MAXSIZE_TO_VARSTR(b3, status, pShow->pMeta->pSchemas[cols].bytes); STR_WITH_MAXSIZE_TO_VARSTR(b3, status, pShow->pMeta->pSchemas[cols].bytes);
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++); pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
......
...@@ -174,34 +174,34 @@ class ClusterComCheck: ...@@ -174,34 +174,34 @@ class ClusterComCheck:
tdLog.exit("mnode number is correct") tdLog.exit("mnode number is correct")
if offlineDnodeNo == 1: if offlineDnodeNo == 1:
if tdSql.queryResult[0][2]=='offline' : if tdSql.queryResult[0][2]=='offline' :
if tdSql.queryResult[1][2]=='leader' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='leader':
if tdSql.queryResult[2][2]=='follower' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='follower':
tdLog.success("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.success("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
elif tdSql.queryResult[1][2]=='follower' and tdSql.queryResult[1][3]== 'ready' : elif tdSql.queryResult[1][2]=='follower':
if tdSql.queryResult[2][2]=='leader' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='leader':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
count+=1 count+=1
elif offlineDnodeNo == 2: elif offlineDnodeNo == 2:
if tdSql.queryResult[1][2]=='offline' : if tdSql.queryResult[1][2]=='offline' :
if tdSql.queryResult[0][2]=='leader' and tdSql.queryResult[0][3]== 'ready' : if tdSql.queryResult[0][2]=='leader':
if tdSql.queryResult[2][2]=='follower' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='follower':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
elif tdSql.queryResult[0][2]=='follower' and tdSql.queryResult[0][3]== 'ready' : elif tdSql.queryResult[0][2]=='follower':
if tdSql.queryResult[2][2]=='leader' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='leader':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
count+=1 count+=1
elif offlineDnodeNo == 3: elif offlineDnodeNo == 3:
if tdSql.queryResult[2][2]=='offline' : if tdSql.queryResult[2][2]=='offline' :
if tdSql.queryResult[0][2]=='leader' and tdSql.queryResult[0][3]== 'ready' : if tdSql.queryResult[0][2]=='leader':
if tdSql.queryResult[1][2]=='follower' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='follower':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
elif tdSql.queryResult[0][2]=='follower' and tdSql.queryResult[0][3]== 'ready' : elif tdSql.queryResult[0][2]=='follower':
if tdSql.queryResult[1][2]=='leader' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='leader':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
count+=1 count+=1
...@@ -219,8 +219,8 @@ class ClusterComCheck: ...@@ -219,8 +219,8 @@ class ClusterComCheck:
else: else:
tdLog.exit("mnode number is correct") tdLog.exit("mnode number is correct")
if tdSql.queryResult[0][2]=='leader' : if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[1][2]=='offline' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='offline':
if tdSql.queryResult[2][2]=='offline' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='offline':
tdLog.success("stop mnodes of follower on dnode successfully in 10s") tdLog.success("stop mnodes of follower on dnode successfully in 10s")
return True return True
count+=1 count+=1
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册