From 938dc06a0926db914d5f345280a1de191256bb74 Mon Sep 17 00:00:00 2001 From: wangjiaming0909 Date: Wed, 26 Jun 2024 13:47:51 +0800 Subject: [PATCH] recycle threads slower --- source/util/src/tworker.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/util/src/tworker.c b/source/util/src/tworker.c index 4e921af76c..482db7b5b8 100644 --- a/source/util/src/tworker.c +++ b/source/util/src/tworker.c @@ -618,7 +618,7 @@ bool tQueryAutoQWorkerTryRecycleWorker(SQueryAutoQWorkerPool* pPool, SQueryAutoQ tdListPopNode(pPool->workers, pNode); // reclaim some workers if (pWorker->id >= pPool->num * 2 ) { - while (listNEles(pPool->exitedWorkers) > 0) { + while (listNEles(pPool->exitedWorkers) > pPool->num) { SListNode* head = tdListPopHead(pPool->exitedWorkers); SQueryAutoQWorker* pWorker = (SQueryAutoQWorker*)head->data; if (pWorker && taosCheckPthreadValid(pWorker->thread)) { @@ -640,7 +640,6 @@ bool tQueryAutoQWorkerTryRecycleWorker(SQueryAutoQWorkerPool* pPool, SQueryAutoQ taosThreadMutexLock(&pPool->backupLock); atomic_fetch_add_32(&pPool->backupNum, 1); if (!pPool->exit) taosThreadCondWait(&pPool->backupCond, &pPool->backupLock); - // TODO wjm what if taosd is exiting taosThreadMutexUnlock(&pPool->backupLock); // recovered from backup @@ -742,7 +741,7 @@ void tQueryAutoQWorkerCleanup(SQueryAutoQWorkerPool *pPool) { } taosMemoryFree(pNode); } - + while (listNEles(pPool->exitedWorkers) > 0) { SListNode* pNode = tdListPopHead(pPool->exitedWorkers); worker = (SQueryAutoQWorker*)pNode->data;