Skip to content

Commit abf6366

Browse files
authored
fix(task-framework): wrong status when task failed (#4469) (#4470)
* rollback correct status * code format
1 parent 026e5b0 commit abf6366

File tree

1 file changed

+4
-16
lines changed

1 file changed

+4
-16
lines changed

server/odc-service/src/main/java/com/oceanbase/odc/service/task/listener/DefaultJobTerminateListener.java

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package com.oceanbase.odc.service.task.listener;
1818

1919
import java.text.MessageFormat;
20-
import java.util.Collections;
2120
import java.util.List;
2221
import java.util.Map;
2322
import java.util.Optional;
@@ -76,21 +75,10 @@ public void onEvent(JobTerminateEvent event) {
7675
// correct status
7776
TaskStatus taskStatus = TerminateProcessor.correctTaskStatus(terminateProcessors, jobEntity.getJobType(),
7877
scheduleTask, event.getStatus().convertTaskStatus(), event.getTaskResult());
79-
if (scheduleTask.getStatus() != taskStatus) {
80-
// CAS
81-
int affectRows = scheduleTaskService.updateStatusById(scheduleTask.getId(), taskStatus,
82-
Collections.singletonList(scheduleTask.getStatus().name()));
83-
if (affectRows > 0) {
84-
log.info("Update schedule task status from {} to {} succeed,scheduleTaskId={}",
85-
scheduleTask.getStatus(),
86-
taskStatus, scheduleTask.getId());
87-
scheduleTask.setStatus(taskStatus);
88-
} else {
89-
log.info("Update schedule task status from {} to {} failed,scheduleTaskId={}",
90-
scheduleTask.getStatus(),
91-
taskStatus, scheduleTask.getId());
92-
}
93-
}
78+
// correct to final status
79+
scheduleTaskService.updateStatusById(scheduleTask.getId(), taskStatus);
80+
log.info("Update schedule task status to {} succeed,scheduleTaskId={}", taskStatus, scheduleTask.getId());
81+
scheduleTask.setStatus(taskStatus);
9482
// Refresh the schedule status after the task is completed.
9583
scheduleService.refreshScheduleStatus(Long.parseLong(scheduleTask.getJobName()));
9684
// Trigger the alarm if the task is failed or canceled.

0 commit comments

Comments
 (0)