From b903872a4eb55d547046d11b6f6f3f820992630d Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Fri, 19 Apr 2024 19:02:34 +0800 Subject: [PATCH] fix(stream): correct count down the ready tasks. --- source/libs/stream/src/streamTask.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/libs/stream/src/streamTask.c b/source/libs/stream/src/streamTask.c index 8ad24b8edd..7dc93ceccf 100644 --- a/source/libs/stream/src/streamTask.c +++ b/source/libs/stream/src/streamTask.c @@ -993,16 +993,17 @@ int32_t streamTaskUpdateCheckInfo(STaskCheckInfo* pInfo, int32_t taskId, int32_t SDownstreamStatusInfo* p = taosArrayGet(pInfo->pList, i); if (p->taskId == taskId) { ASSERT(reqId == p->reqId); - p->status = status; - p->rspTs = rspTs; // count down one, since it is ready now - if (p->status == TASK_DOWNSTREAM_READY) { + if ((p->status != TASK_DOWNSTREAM_READY) && (status == TASK_DOWNSTREAM_READY)) { *pNotReady = atomic_sub_fetch_32(&pInfo->notReadyTasks, 1); } else { *pNotReady = pInfo->notReadyTasks; } + p->status = status; + p->rspTs = rspTs; + taosThreadMutexUnlock(&pInfo->checkInfoLock); return TSDB_CODE_SUCCESS; }