From 0d484a1023a9bce2877d5a12b4b259767348334f Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Mon, 10 Jan 2022 01:48:39 -0800 Subject: [PATCH] minor changes --- source/dnode/mgmt/impl/inc/dndMgmt.h | 5 +++-- source/dnode/mgmt/impl/src/dndMgmt.c | 8 +++++--- source/dnode/mgmt/impl/src/dndVnodes.c | 8 ++++++-- source/dnode/mgmt/impl/src/dnode.c | 5 +++-- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/source/dnode/mgmt/impl/inc/dndMgmt.h b/source/dnode/mgmt/impl/inc/dndMgmt.h index 69c2aa1fbf..0df3af23d5 100644 --- a/source/dnode/mgmt/impl/inc/dndMgmt.h +++ b/source/dnode/mgmt/impl/inc/dndMgmt.h @@ -21,8 +21,9 @@ extern "C" { #endif #include "dndInt.h" -int32_t dndInitDnode(SDnode *pDnode); -void dndCleanupDnode(SDnode *pDnode); +int32_t dndInitMgmt(SDnode *pDnode); +void dndStopMgmt(SDnode *pDnode); +void dndCleanupMgmt(SDnode *pDnode); int32_t dndGetDnodeId(SDnode *pDnode); int64_t dndGetClusterId(SDnode *pDnode); diff --git a/source/dnode/mgmt/impl/src/dndMgmt.c b/source/dnode/mgmt/impl/src/dndMgmt.c index 7d071be944..f262eb9ca0 100644 --- a/source/dnode/mgmt/impl/src/dndMgmt.c +++ b/source/dnode/mgmt/impl/src/dndMgmt.c @@ -497,7 +497,7 @@ static void *dnodeThreadRoutine(void *param) { } } -int32_t dndInitDnode(SDnode *pDnode) { +int32_t dndInitMgmt(SDnode *pDnode) { SDnodeMgmt *pMgmt = &pDnode->dmgmt; pMgmt->dnodeId = 0; @@ -547,16 +547,18 @@ int32_t dndInitDnode(SDnode *pDnode) { return 0; } -void dndCleanupDnode(SDnode *pDnode) { +void dndStopMgmt(SDnode *pDnode) { SDnodeMgmt *pMgmt = &pDnode->dmgmt; - dndCleanupWorker(&pMgmt->mgmtWorker); if (pMgmt->threadId != NULL) { taosDestoryThread(pMgmt->threadId); pMgmt->threadId = NULL; } +} +void dndCleanupMgmt(SDnode *pDnode) { + SDnodeMgmt *pMgmt = &pDnode->dmgmt; taosWLockLatch(&pMgmt->latch); if (pMgmt->dnodeEps != NULL) { diff --git a/source/dnode/mgmt/impl/src/dndVnodes.c b/source/dnode/mgmt/impl/src/dndVnodes.c index 0b76da1549..bf27a542ae 100644 --- a/source/dnode/mgmt/impl/src/dndVnodes.c +++ b/source/dnode/mgmt/impl/src/dndVnodes.c @@ -167,6 +167,11 @@ static void dndCloseVnode(SDnode *pDnode, SVnodeObj *pVnode) { dDebug("vgId:%d, vnode is closed", pVnode->vgId); + if (pVnode->dropped) { + dDebug("vgId:%d, vnode is destroyed for dropped:%d", pVnode->vgId, pVnode->dropped); + vnodeDestroy(pVnode->path); + } + free(pVnode->path); free(pVnode->db); free(pVnode); @@ -466,6 +471,7 @@ static int32_t dndOpenVnodes(SDnode *pDnode) { } static void dndCloseVnodes(SDnode *pDnode) { + dInfo("start to close all vnodes"); SVnodesMgmt *pMgmt = &pDnode->vmgmt; int32_t numOfVnodes = 0; @@ -658,8 +664,6 @@ int32_t dndProcessDropVnodeReq(SDnode *pDnode, SRpcMsg *pReq) { } dndCloseVnode(pDnode, pVnode); - vnodeClose(pVnode->pImpl); - vnodeDestroy(pVnode->path); dndWriteVnodesToFile(pDnode); return 0; diff --git a/source/dnode/mgmt/impl/src/dnode.c b/source/dnode/mgmt/impl/src/dnode.c index 743b66733d..9c3870d5d1 100644 --- a/source/dnode/mgmt/impl/src/dnode.c +++ b/source/dnode/mgmt/impl/src/dnode.c @@ -202,7 +202,7 @@ SDnode *dndInit(SDnodeOpt *pOption) { return NULL; } - if (dndInitDnode(pDnode) != 0) { + if (dndInitMgmt(pDnode) != 0) { dError("failed to init dnode"); dndCleanup(pDnode); return NULL; @@ -263,12 +263,13 @@ void dndCleanup(SDnode *pDnode) { dInfo("start to cleanup TDengine"); dndSetStat(pDnode, DND_STAT_STOPPED); dndCleanupTrans(pDnode); + dndStopMgmt(pDnode); dndCleanupMnode(pDnode); dndCleanupBnode(pDnode); dndCleanupSnode(pDnode); dndCleanupQnode(pDnode); dndCleanupVnodes(pDnode); - dndCleanupDnode(pDnode); + dndCleanupMgmt(pDnode); vnodeClear(); tfsDestroy(); walCleanUp(); -- GitLab