diff --git a/paimon-web-server/src/main/java/org/apache/paimon/web/server/service/impl/JobServiceImpl.java b/paimon-web-server/src/main/java/org/apache/paimon/web/server/service/impl/JobServiceImpl.java index adeab17e3..889fd275e 100644 --- a/paimon-web-server/src/main/java/org/apache/paimon/web/server/service/impl/JobServiceImpl.java +++ b/paimon-web-server/src/main/java/org/apache/paimon/web/server/service/impl/JobServiceImpl.java @@ -285,16 +285,20 @@ public void refreshJobStatus(String taskType) { if (JobStatus.RUNNING.getValue().equals(jobStatus)) { updateJobStatusAndStartTime(jobId, jobStatus, startTime); } else if (JobStatus.FINISHED.getValue().equals(jobStatus) - || JobStatus.CANCELED.getValue().equals(jobStatus)) { + || JobStatus.CANCELED.getValue().equals(jobStatus) + || JobStatus.FAILED.getValue().equals(jobStatus)) { LocalDateTime endTime = job.getEndTime() == null ? LocalDateTime.now() : job.getEndTime(); updateJobStatusAndEndTime(jobId, jobStatus, endTime); + } else { + JobInfo jobInfo = new JobInfo(); + jobInfo.setId(job.getId()); + jobInfo.setStatus(jobStatus); + this.updateById(jobInfo); } } - } else { - log.warn("Job with ID {} not found in the database.", jobId); } } } catch (Exception e) {