diff --git a/src/dnode/src/dnodeMPeer.c b/src/dnode/src/dnodeMPeer.c index 71c2d0e65f..49ba654fec 100644 --- a/src/dnode/src/dnodeMPeer.c +++ b/src/dnode/src/dnodeMPeer.c @@ -71,9 +71,11 @@ void dnodeCleanupMnodePeer() { SMPeerWorker *pWorker = tsMPeerPool.peerWorker + i; if (pWorker->thread) { pthread_join(pWorker->thread, NULL); + taosCloseQset(tsMPeerQset); } } + tfree(tsMPeerPool.peerWorker); dPrint("dnode mpeer is closed"); } diff --git a/src/dnode/src/dnodeMWrite.c b/src/dnode/src/dnodeMWrite.c index e3a228919f..03b1e4ff5d 100644 --- a/src/dnode/src/dnodeMWrite.c +++ b/src/dnode/src/dnodeMWrite.c @@ -73,9 +73,11 @@ void dnodeCleanupMnodeWrite() { SMWriteWorker *pWorker = tsMWritePool.writeWorker + i; if (pWorker->thread) { pthread_join(pWorker->thread, NULL); + taosCloseQset(tsMWriteQset); } } + tfree(tsMWritePool.writeWorker); dPrint("dnode mwrite is closed"); } @@ -194,4 +196,4 @@ void dnodeDelayReprocessMnodeWriteMsg(void *pMsg) { SMnodeMsg *mnodeMsg = pMsg; void *unUsed = NULL; taosTmrReset(dnodeDoDelayReprocessMnodeWriteMsg, 300, mnodeMsg, tsDnodeTmr, &unUsed); -} \ No newline at end of file +} diff --git a/src/mnode/src/mnodeSdb.c b/src/mnode/src/mnodeSdb.c index c34317437c..b3dae1c5d4 100644 --- a/src/mnode/src/mnodeSdb.c +++ b/src/mnode/src/mnodeSdb.c @@ -851,6 +851,7 @@ void sdbCleanupWriteWorker() { } sdbFreeWritequeue(); + tfree(tsSdbPool.writeWorker); mPrint("sdb write is closed"); }