fix(stream): set correct flag for checkpoint.
This commit is contained in:
parent
095510ba41
commit
21e1763ff4
|
@ -194,7 +194,7 @@ void streamTaskSetRetryInfoForLaunch(SHistoryTaskInfo* pInfo);
|
||||||
int32_t streamTaskResetTimewindowFilter(SStreamTask* pTask);
|
int32_t streamTaskResetTimewindowFilter(SStreamTask* pTask);
|
||||||
void streamTaskClearActiveInfo(SActiveCheckpointInfo* pInfo);
|
void streamTaskClearActiveInfo(SActiveCheckpointInfo* pInfo);
|
||||||
|
|
||||||
void streamClearChkptReadyMsg(SStreamTask* pTask);
|
void streamClearChkptReadyMsg(SActiveCheckpointInfo* pActiveInfo);
|
||||||
EExtractDataCode streamTaskGetDataFromInputQ(SStreamTask* pTask, SStreamQueueItem** pInput, int32_t* numOfBlocks,
|
EExtractDataCode streamTaskGetDataFromInputQ(SStreamTask* pTask, SStreamQueueItem** pInput, int32_t* numOfBlocks,
|
||||||
int32_t* blockSize);
|
int32_t* blockSize);
|
||||||
int32_t streamQueueItemGetSize(const SStreamQueueItem* pItem);
|
int32_t streamQueueItemGetSize(const SStreamQueueItem* pItem);
|
||||||
|
|
|
@ -405,7 +405,7 @@ void streamTaskClearCheckInfo(SStreamTask* pTask, bool clearChkpReadyMsg) {
|
||||||
streamTaskClearActiveInfo(pTask->chkInfo.pActiveInfo);
|
streamTaskClearActiveInfo(pTask->chkInfo.pActiveInfo);
|
||||||
streamTaskOpenAllUpstreamInput(pTask); // open inputQ for all upstream tasks
|
streamTaskOpenAllUpstreamInput(pTask); // open inputQ for all upstream tasks
|
||||||
if (clearChkpReadyMsg) {
|
if (clearChkpReadyMsg) {
|
||||||
streamClearChkptReadyMsg(pTask);
|
streamClearChkptReadyMsg(pTask->chkInfo.pActiveInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -696,14 +696,16 @@ int32_t streamTaskBuildCheckpoint(SStreamTask* pTask) {
|
||||||
|
|
||||||
// TODO: monitoring the checkpoint-report msg
|
// TODO: monitoring the checkpoint-report msg
|
||||||
// update the latest checkpoint info if all works are done successfully, for rsma, the pMsgCb is null.
|
// update the latest checkpoint info if all works are done successfully, for rsma, the pMsgCb is null.
|
||||||
if (code == TSDB_CODE_SUCCESS && (pTask->pMsgCb != NULL)) {
|
if (code == TSDB_CODE_SUCCESS) {
|
||||||
|
if (pTask->pMsgCb != NULL) {
|
||||||
code = streamSendChkptReportMsg(pTask, &pTask->chkInfo, dropRelHTask);
|
code = streamSendChkptReportMsg(pTask, &pTask->chkInfo, dropRelHTask);
|
||||||
|
}
|
||||||
} else { // clear the checkpoint info if failed
|
} else { // clear the checkpoint info if failed
|
||||||
taosThreadMutexLock(&pTask->lock);
|
taosThreadMutexLock(&pTask->lock);
|
||||||
streamTaskClearCheckInfo(pTask, false);
|
streamTaskClearCheckInfo(pTask, false);
|
||||||
code = streamTaskHandleEvent(pTask->status.pSM, TASK_EVENT_CHECKPOINT_DONE);
|
|
||||||
taosThreadMutexUnlock(&pTask->lock);
|
taosThreadMutexUnlock(&pTask->lock);
|
||||||
|
|
||||||
|
code = streamTaskHandleEvent(pTask->status.pSM, TASK_EVENT_CHECKPOINT_DONE);
|
||||||
streamTaskSetFailedCheckpointId(pTask);
|
streamTaskSetFailedCheckpointId(pTask);
|
||||||
stDebug("s-task:%s clear checkpoint flag since gen checkpoint failed, checkpointId:%" PRId64, id, ckId);
|
stDebug("s-task:%s clear checkpoint flag since gen checkpoint failed, checkpointId:%" PRId64, id, ckId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -856,7 +856,7 @@ static void checkpointReadyMsgSendMonitorFn(void* param, void* tmrId) {
|
||||||
"and quit from timer, ref:%d",
|
"and quit from timer, ref:%d",
|
||||||
id, vgId, ref);
|
id, vgId, ref);
|
||||||
|
|
||||||
streamClearChkptReadyMsg(pTask);
|
streamClearChkptReadyMsg(pActiveInfo);
|
||||||
taosThreadMutexUnlock(&pActiveInfo->lock);
|
taosThreadMutexUnlock(&pActiveInfo->lock);
|
||||||
streamMetaReleaseTask(pTask->pMeta, pTask);
|
streamMetaReleaseTask(pTask->pMeta, pTask);
|
||||||
}
|
}
|
||||||
|
@ -1128,8 +1128,7 @@ int32_t streamAddCheckpointReadyMsg(SStreamTask* pTask, int32_t upstreamTaskId,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void streamClearChkptReadyMsg(SStreamTask* pTask) {
|
void streamClearChkptReadyMsg(SActiveCheckpointInfo* pActiveInfo) {
|
||||||
SActiveCheckpointInfo* pActiveInfo = pTask->chkInfo.pActiveInfo;
|
|
||||||
if (pActiveInfo == NULL) {
|
if (pActiveInfo == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,7 +254,7 @@ void tFreeStreamTask(SStreamTask* pTask) {
|
||||||
walCloseReader(pTask->exec.pWalReader);
|
walCloseReader(pTask->exec.pWalReader);
|
||||||
}
|
}
|
||||||
|
|
||||||
streamClearChkptReadyMsg(pTask);
|
streamClearChkptReadyMsg(pTask->chkInfo.pActiveInfo);
|
||||||
|
|
||||||
if (pTask->msgInfo.pData != NULL) {
|
if (pTask->msgInfo.pData != NULL) {
|
||||||
clearBufferedDispatchMsg(pTask);
|
clearBufferedDispatchMsg(pTask);
|
||||||
|
|
Loading…
Reference in New Issue