未验证 提交 3b6d196e 编写于 作者: W wade zhang 提交者: GitHub

Merge pull request #21498 from taosdata/fix/check-empty-dnode

check empty dnode
...@@ -986,20 +986,20 @@ static int32_t mndProcessDropDnodeReq(SRpcMsg *pReq) { ...@@ -986,20 +986,20 @@ static int32_t mndProcessDropDnodeReq(SRpcMsg *pReq) {
} }
int32_t numOfVnodes = mndGetVnodesNum(pMnode, pDnode->id); int32_t numOfVnodes = mndGetVnodesNum(pMnode, pDnode->id);
if (numOfVnodes > 0 || pMObj != NULL || pSObj != NULL || pQObj != NULL) { bool isonline = mndIsDnodeOnline(pDnode, taosGetTimestampMs());
bool isonline = mndIsDnodeOnline(pDnode, taosGetTimestampMs());
if (isonline && force) { if (isonline && force) {
terrno = TSDB_CODE_DNODE_ONLY_USE_WHEN_OFFLINE; terrno = TSDB_CODE_DNODE_ONLY_USE_WHEN_OFFLINE;
mError("dnode:%d, failed to drop since %s, vnodes:%d mnode:%d qnode:%d snode:%d", pDnode->id, terrstr(), mError("dnode:%d, failed to drop since %s, vnodes:%d mnode:%d qnode:%d snode:%d", pDnode->id, terrstr(),
numOfVnodes, pMObj != NULL, pQObj != NULL, pSObj != NULL); numOfVnodes, pMObj != NULL, pQObj != NULL, pSObj != NULL);
goto _OVER; goto _OVER;
} }
if (!isonline && !force) {
terrno = TSDB_CODE_DNODE_OFFLINE; if (!isonline && !force) {
mError("dnode:%d, failed to drop since %s, vnodes:%d mnode:%d qnode:%d snode:%d", pDnode->id, terrstr(), terrno = TSDB_CODE_DNODE_OFFLINE;
numOfVnodes, pMObj != NULL, pQObj != NULL, pSObj != NULL); mError("dnode:%d, failed to drop since %s, vnodes:%d mnode:%d qnode:%d snode:%d", pDnode->id, terrstr(),
goto _OVER; numOfVnodes, pMObj != NULL, pQObj != NULL, pSObj != NULL);
} goto _OVER;
} }
code = mndDropDnode(pMnode, pReq, pDnode, pMObj, pQObj, pSObj, numOfVnodes, force, dropReq.unsafe); code = mndDropDnode(pMnode, pReq, pDnode, pMObj, pQObj, pSObj, numOfVnodes, force, dropReq.unsafe);
......
...@@ -35,7 +35,7 @@ endi ...@@ -35,7 +35,7 @@ endi
print =============== step2 drop dnode 3 print =============== step2 drop dnode 3
sql_error drop dnode 1 sql_error drop dnode 1
sql drop dnode 3 sql drop dnode 3 force
sql select * from information_schema.ins_dnodes sql select * from information_schema.ins_dnodes
print ===> $data00 $data01 $data02 $data03 $data04 $data05 print ===> $data00 $data01 $data02 $data03 $data04 $data05
......
...@@ -57,7 +57,7 @@ if $data(2)[7] != @status msg timeout@ then ...@@ -57,7 +57,7 @@ if $data(2)[7] != @status msg timeout@ then
endi endi
print ========== step4 print ========== step4
sql drop dnode 2 sql drop dnode 2 force
sql select * from information_schema.ins_dnodes sql select * from information_schema.ins_dnodes
if $rows != 1 then if $rows != 1 then
return -1 return -1
......
...@@ -20,7 +20,7 @@ sql_error alter user u2 sysinfo 0 ...@@ -20,7 +20,7 @@ sql_error alter user u2 sysinfo 0
print =============== step2 create drop dnode print =============== step2 create drop dnode
sql create dnode $hostname port 7200 sql create dnode $hostname port 7200
sql create dnode $hostname port 7300 sql create dnode $hostname port 7300
sql drop dnode 3 sql drop dnode 3 force
sql alter dnode 1 'debugflag 131' sql alter dnode 1 'debugflag 131'
print =============== step3: select * from information_schema.ins_dnodes print =============== step3: select * from information_schema.ins_dnodes
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册