diff --git a/source/client/src/clientImpl.c b/source/client/src/clientImpl.c index 9f91fa8a2361eb0831297491931a558b7052f822..26c27a5cae8abe7c6c8b36653f2ddc1c796ecc80 100644 --- a/source/client/src/clientImpl.c +++ b/source/client/src/clientImpl.c @@ -535,9 +535,7 @@ void* doFetchRow(SRequestObj* pRequest) { int64_t transporterId = 0; STscObj *pTscObj = pRequest->pTscObj; asyncSendMsgToServer(pTscObj->pTransporter, &pTscObj->pAppInfo->mgmtEp.epSet, &transporterId, body); - tsem_wait(&pRequest->body.rspSem); - destroySendMsgInfo(body); pRequest->type = TDMT_VND_SHOW_TABLES_FETCH; } diff --git a/source/libs/scheduler/src/scheduler.c b/source/libs/scheduler/src/scheduler.c index 0fcef6319e4e8ce7878dced6ba1e0f6e2b43001c..ce013ac0ada97d66a129043606c6dc600b5fb5f4 100644 --- a/source/libs/scheduler/src/scheduler.c +++ b/source/libs/scheduler/src/scheduler.c @@ -352,11 +352,12 @@ _return: int32_t schProcessOnJobPartialSuccess(SSchJob *job) { job->status = JOB_TASK_STATUS_PARTIAL_SUCCEED; + bool needFetch = job->userFetch; if ((!job->attr.needFetch) && job->attr.syncSchedule) { tsem_post(&job->rspSem); } - if (job->userFetch) { + if (needFetch) { SCH_ERR_RET(schFetchFromRemote(job)); } @@ -426,7 +427,6 @@ int32_t schProcessOnTaskSuccess(SSchJob *job, SSchTask *task) { } job->fetchTask = task; - SCH_ERR_RET(schProcessOnJobPartialSuccess(job)); return TSDB_CODE_SUCCESS; @@ -501,7 +501,6 @@ int32_t schProcessRspMsg(SSchJob *job, SSchTask *task, int32_t msgType, char *ms if (rspCode != TSDB_CODE_SUCCESS) { SCH_ERR_JRET(schProcessOnTaskFailure(job, task, rspCode)); } else { -// job->resNumOfRows += rsp->affectedRows; code = schProcessOnTaskSuccess(job, task); if (code) { goto _task_error;