From 2702903e943e67a1a2764716130bf3f89991c446 Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Tue, 19 Apr 2022 21:53:16 +0800 Subject: [PATCH] feat: report service status --- source/dnode/mgmt/interface/src/dmInt.c | 4 ++-- tools/shell/src/shellMain.c | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/source/dnode/mgmt/interface/src/dmInt.c b/source/dnode/mgmt/interface/src/dmInt.c index 417fbfebf5..00abbd0199 100644 --- a/source/dnode/mgmt/interface/src/dmInt.c +++ b/source/dnode/mgmt/interface/src/dmInt.c @@ -157,10 +157,10 @@ static void dmGetServerStatus(SDnode *pDnode, SServerStatusRsp *pStatus) { pStatus->statusCode = TSDB_SRV_STATUS_EXTING; } else { SDnodeData *pData = &pDnode->data; - if (pData->isMnode && pData->mndState != TAOS_SYNC_STATE_FOLLOWER && pData->mndState != TAOS_SYNC_STATE_FOLLOWER) { + if (pData->isMnode && pData->mndState != TAOS_SYNC_STATE_LEADER && pData->mndState == TAOS_SYNC_STATE_FOLLOWER) { pStatus->statusCode = TSDB_SRV_STATUS_SERVICE_DEGRADED; snprintf(pStatus->details, sizeof(pStatus->details), "mnode sync state is %s", syncStr(pData->mndState)); - } else if (pData->unsyncedVgId != 0 && pData->vndState != TAOS_SYNC_STATE_FOLLOWER && + } else if (pData->unsyncedVgId != 0 && pData->vndState != TAOS_SYNC_STATE_LEADER && pData->vndState != TAOS_SYNC_STATE_FOLLOWER) { pStatus->statusCode = TSDB_SRV_STATUS_SERVICE_DEGRADED; snprintf(pStatus->details, sizeof(pStatus->details), "vnode:%d sync state is %s", pData->unsyncedVgId, diff --git a/tools/shell/src/shellMain.c b/tools/shell/src/shellMain.c index 5c18e60e50..1ee42358f6 100644 --- a/tools/shell/src/shellMain.c +++ b/tools/shell/src/shellMain.c @@ -633,7 +633,7 @@ void shellCheckServerStatus() { printf("2: service ok\n"); break; case TSDB_SRV_STATUS_SERVICE_DEGRADED: - printf("3: service degradedk\n"); + printf("3: service degraded\n"); break; case TSDB_SRV_STATUS_EXTING: printf("4: exiting\n"); @@ -642,10 +642,12 @@ void shellCheckServerStatus() { if (strlen(details) != 0) { printf("%s\n\n", details); } - if (code == TSDB_SRV_STATUS_NETWORK_OK) { + if (code == TSDB_SRV_STATUS_NETWORK_OK && args.verbose) { taosMsleep(1000); + } else { + break; } - } while (code == TSDB_SRV_STATUS_NETWORK_OK); + } while (1); exitShell(); } -- GitLab