refactor: do some internal refactor.
This commit is contained in:
parent
f83993757f
commit
dd05353b74
|
@ -754,7 +754,7 @@ int32_t streamMetaGetNumOfTasks(SStreamMeta* pMeta);
|
||||||
int32_t streamMetaAcquireTaskNoLock(SStreamMeta* pMeta, int64_t streamId, int32_t taskId, SStreamTask** pTask);
|
int32_t streamMetaAcquireTaskNoLock(SStreamMeta* pMeta, int64_t streamId, int32_t taskId, SStreamTask** pTask);
|
||||||
int32_t streamMetaAcquireTask(SStreamMeta* pMeta, int64_t streamId, int32_t taskId, SStreamTask** pTask);
|
int32_t streamMetaAcquireTask(SStreamMeta* pMeta, int64_t streamId, int32_t taskId, SStreamTask** pTask);
|
||||||
void streamMetaReleaseTask(SStreamMeta* pMeta, SStreamTask* pTask);
|
void streamMetaReleaseTask(SStreamMeta* pMeta, SStreamTask* pTask);
|
||||||
void streamMetaAcquireOneTask(SStreamTask* pTask);
|
int32_t streamMetaAcquireOneTask(SStreamTask* pTask);
|
||||||
void streamMetaClear(SStreamMeta* pMeta);
|
void streamMetaClear(SStreamMeta* pMeta);
|
||||||
void streamMetaInitBackend(SStreamMeta* pMeta);
|
void streamMetaInitBackend(SStreamMeta* pMeta);
|
||||||
int32_t streamMetaCommit(SStreamMeta* pMeta);
|
int32_t streamMetaCommit(SStreamMeta* pMeta);
|
||||||
|
|
|
@ -692,7 +692,7 @@ int32_t tqStreamTaskProcessDropReq(SStreamMeta* pMeta, char* msg, int32_t msgLen
|
||||||
STaskId id = {.streamId = pReq->streamId, .taskId = pReq->taskId};
|
STaskId id = {.streamId = pReq->streamId, .taskId = pReq->taskId};
|
||||||
SStreamTask** ppTask = (SStreamTask**)taosHashGet(pMeta->pTasksMap, &id, sizeof(id));
|
SStreamTask** ppTask = (SStreamTask**)taosHashGet(pMeta->pTasksMap, &id, sizeof(id));
|
||||||
if ((ppTask != NULL) && ((*ppTask) != NULL)) {
|
if ((ppTask != NULL) && ((*ppTask) != NULL)) {
|
||||||
streamMetaAcquireOneTask(*ppTask);
|
int32_t unusedRetRef = streamMetaAcquireOneTask(*ppTask);
|
||||||
SStreamTask* pTask = *ppTask;
|
SStreamTask* pTask = *ppTask;
|
||||||
|
|
||||||
if (HAS_RELATED_FILLHISTORY_TASK(pTask)) {
|
if (HAS_RELATED_FILLHISTORY_TASK(pTask)) {
|
||||||
|
|
|
@ -299,7 +299,7 @@ void streamTaskStartMonitorCheckRsp(SStreamTask* pTask) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*SStreamTask* p = */ streamMetaAcquireOneTask(pTask); // add task ref here
|
int32_t unusedRetRef = streamMetaAcquireOneTask(pTask); // add task ref here
|
||||||
streamTaskInitTaskCheckInfo(pInfo, &pTask->outputInfo, taosGetTimestampMs());
|
streamTaskInitTaskCheckInfo(pInfo, &pTask->outputInfo, taosGetTimestampMs());
|
||||||
|
|
||||||
int32_t ref = atomic_add_fetch_32(&pTask->status.timerActive, 1);
|
int32_t ref = atomic_add_fetch_32(&pTask->status.timerActive, 1);
|
||||||
|
|
|
@ -347,7 +347,8 @@ int32_t streamProcessCheckpointTriggerBlock(SStreamTask* pTask, SStreamDataBlock
|
||||||
if (old == 0) {
|
if (old == 0) {
|
||||||
int32_t ref = atomic_add_fetch_32(&pTask->status.timerActive, 1);
|
int32_t ref = atomic_add_fetch_32(&pTask->status.timerActive, 1);
|
||||||
stDebug("s-task:%s start checkpoint-trigger monitor in 10s, ref:%d ", pTask->id.idStr, ref);
|
stDebug("s-task:%s start checkpoint-trigger monitor in 10s, ref:%d ", pTask->id.idStr, ref);
|
||||||
streamMetaAcquireOneTask(pTask);
|
|
||||||
|
int32_t unusedRetRef = streamMetaAcquireOneTask(pTask);
|
||||||
streamTmrStart(checkpointTriggerMonitorFn, 200, pTask, streamTimer, &pTmrInfo->tmrHandle, vgId,
|
streamTmrStart(checkpointTriggerMonitorFn, 200, pTask, streamTimer, &pTmrInfo->tmrHandle, vgId,
|
||||||
"trigger-recv-monitor");
|
"trigger-recv-monitor");
|
||||||
pTmrInfo->launchChkptId = pActiveInfo->activeId;
|
pTmrInfo->launchChkptId = pActiveInfo->activeId;
|
||||||
|
|
|
@ -1162,7 +1162,7 @@ int32_t streamTaskSendCheckpointReadyMsg(SStreamTask* pTask) {
|
||||||
if (old == 0) {
|
if (old == 0) {
|
||||||
int32_t ref = atomic_add_fetch_32(&pTask->status.timerActive, 1);
|
int32_t ref = atomic_add_fetch_32(&pTask->status.timerActive, 1);
|
||||||
stDebug("s-task:%s start checkpoint-ready monitor in 10s, ref:%d ", pTask->id.idStr, ref);
|
stDebug("s-task:%s start checkpoint-ready monitor in 10s, ref:%d ", pTask->id.idStr, ref);
|
||||||
streamMetaAcquireOneTask(pTask);
|
int32_t unusedRetRef = streamMetaAcquireOneTask(pTask);
|
||||||
|
|
||||||
streamTmrStart(chkptReadyMsgSendMonitorFn, 200, pTask, streamTimer, &pTmrInfo->tmrHandle, vgId,
|
streamTmrStart(chkptReadyMsgSendMonitorFn, 200, pTask, streamTimer, &pTmrInfo->tmrHandle, vgId,
|
||||||
"chkpt-ready-monitor");
|
"chkpt-ready-monitor");
|
||||||
|
|
|
@ -753,9 +753,10 @@ int32_t streamMetaAcquireTask(SStreamMeta* pMeta, int64_t streamId, int32_t task
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
void streamMetaAcquireOneTask(SStreamTask* pTask) {
|
int32_t streamMetaAcquireOneTask(SStreamTask* pTask) {
|
||||||
int32_t ref = atomic_add_fetch_32(&pTask->refCnt, 1);
|
int32_t ref = atomic_add_fetch_32(&pTask->refCnt, 1);
|
||||||
stTrace("s-task:%s acquire task, ref:%d", pTask->id.idStr, ref);
|
stTrace("s-task:%s acquire task, ref:%d", pTask->id.idStr, ref);
|
||||||
|
return ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
void streamMetaReleaseTask(SStreamMeta* UNUSED_PARAM(pMeta), SStreamTask* pTask) {
|
void streamMetaReleaseTask(SStreamMeta* UNUSED_PARAM(pMeta), SStreamTask* pTask) {
|
||||||
|
@ -866,7 +867,7 @@ int32_t streamMetaUnregisterTask(SStreamMeta* pMeta, int64_t streamId, int32_t t
|
||||||
ppTask = (SStreamTask**)taosHashGet(pMeta->pTasksMap, &id, sizeof(id));
|
ppTask = (SStreamTask**)taosHashGet(pMeta->pTasksMap, &id, sizeof(id));
|
||||||
if (ppTask) {
|
if (ppTask) {
|
||||||
pTask = *ppTask;
|
pTask = *ppTask;
|
||||||
// it is an fill-history task, remove the related stream task's id that points to it
|
// it is a fill-history task, remove the related stream task's id that points to it
|
||||||
if (pTask->info.fillHistory == 0) {
|
if (pTask->info.fillHistory == 0) {
|
||||||
int32_t ret = atomic_sub_fetch_32(&pMeta->numOfStreamTasks, 1);
|
int32_t ret = atomic_sub_fetch_32(&pMeta->numOfStreamTasks, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ static void streamTaskSchedHelper(void* param, void* tmrId);
|
||||||
void streamSetupScheduleTrigger(SStreamTask* pTask) {
|
void streamSetupScheduleTrigger(SStreamTask* pTask) {
|
||||||
int64_t delaySchema = pTask->info.delaySchedParam;
|
int64_t delaySchema = pTask->info.delaySchedParam;
|
||||||
if (delaySchema != 0 && pTask->info.fillHistory == 0) {
|
if (delaySchema != 0 && pTask->info.fillHistory == 0) {
|
||||||
int32_t ref = atomic_add_fetch_32(&pTask->refCnt, 1);
|
int32_t ref = streamMetaAcquireOneTask(pTask);
|
||||||
stDebug("s-task:%s setup scheduler trigger, ref:%d delay:%" PRId64 " ms", pTask->id.idStr, ref,
|
stDebug("s-task:%s setup scheduler trigger, ref:%d delay:%" PRId64 " ms", pTask->id.idStr, ref,
|
||||||
pTask->info.delaySchedParam);
|
pTask->info.delaySchedParam);
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ void streamTaskResumeInFuture(SStreamTask* pTask) {
|
||||||
pTask->status.schedIdleTime, ref);
|
pTask->status.schedIdleTime, ref);
|
||||||
|
|
||||||
// add one ref count for task
|
// add one ref count for task
|
||||||
streamMetaAcquireOneTask(pTask);
|
int32_t unusedRetRef = streamMetaAcquireOneTask(pTask);
|
||||||
streamTmrStart(streamTaskResumeHelper, pTask->status.schedIdleTime, pTask, streamTimer, &pTask->schedInfo.pIdleTimer,
|
streamTmrStart(streamTaskResumeHelper, pTask->status.schedIdleTime, pTask, streamTimer, &pTask->schedInfo.pIdleTimer,
|
||||||
pTask->pMeta->vgId, "resume-task-tmr");
|
pTask->pMeta->vgId, "resume-task-tmr");
|
||||||
}
|
}
|
||||||
|
|
|
@ -258,10 +258,12 @@ void tFreeStreamTask(SStreamTask* pTask) {
|
||||||
|
|
||||||
if (pTask->inputq.queue) {
|
if (pTask->inputq.queue) {
|
||||||
streamQueueClose(pTask->inputq.queue, pTask->id.taskId);
|
streamQueueClose(pTask->inputq.queue, pTask->id.taskId);
|
||||||
|
pTask->inputq.queue = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pTask->outputq.queue) {
|
if (pTask->outputq.queue) {
|
||||||
streamQueueClose(pTask->outputq.queue, pTask->id.taskId);
|
streamQueueClose(pTask->outputq.queue, pTask->id.taskId);
|
||||||
|
pTask->outputq.queue = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pTask->exec.qmsg) {
|
if (pTask->exec.qmsg) {
|
||||||
|
@ -275,6 +277,7 @@ void tFreeStreamTask(SStreamTask* pTask) {
|
||||||
|
|
||||||
if (pTask->exec.pWalReader != NULL) {
|
if (pTask->exec.pWalReader != NULL) {
|
||||||
walCloseReader(pTask->exec.pWalReader);
|
walCloseReader(pTask->exec.pWalReader);
|
||||||
|
pTask->exec.pWalReader = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
streamClearChkptReadyMsg(pTask->chkInfo.pActiveInfo);
|
streamClearChkptReadyMsg(pTask->chkInfo.pActiveInfo);
|
||||||
|
|
Loading…
Reference in New Issue