This is an automated email from the ASF dual-hosted git repository.

gaojun2048 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/seatunnel-web.git


The following commit(s) were added to refs/heads/main by this push:
     new 2e32ef01 [bugfix] Job instance history repeat (#114)
2e32ef01 is described below

commit 2e32ef01126d96646ce3bb62c1929ffcb9108970
Author: XiaoJiang521 <[email protected]>
AuthorDate: Wed Sep 6 11:16:39 2023 +0800

    [bugfix] Job instance history repeat (#114)
---
 .../org/apache/seatunnel/app/dal/dao/IJobInstanceHistoryDao.java  | 2 ++
 .../seatunnel/app/dal/dao/impl/JobInstanceHistoryDaoImpl.java     | 5 +++++
 .../apache/seatunnel/app/service/impl/JobMetricsServiceImpl.java  | 8 +++++++-
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceHistoryDao.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceHistoryDao.java
index 9136c592..27224c96 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceHistoryDao.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceHistoryDao.java
@@ -23,4 +23,6 @@ public interface IJobInstanceHistoryDao {
     JobInstanceHistory getByInstanceId(Long jobInstanceId);
 
     void insert(JobInstanceHistory jobInstanceHistory);
+
+    void updateJobInstanceHistory(JobInstanceHistory jobInstanceHistory);
 }
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceHistoryDaoImpl.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceHistoryDaoImpl.java
index 3655b021..1b440e2f 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceHistoryDaoImpl.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceHistoryDaoImpl.java
@@ -43,4 +43,9 @@ public class JobInstanceHistoryDaoImpl implements 
IJobInstanceHistoryDao {
     public void insert(JobInstanceHistory jobInstanceHistory) {
         jobInstanceHistoryMapper.insert(jobInstanceHistory);
     }
+
+    @Override
+    public void updateJobInstanceHistory(JobInstanceHistory 
jobInstanceHistory) {
+        jobInstanceHistoryMapper.updateById(jobInstanceHistory);
+    }
 }
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobMetricsServiceImpl.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobMetricsServiceImpl.java
index 47fa7a63..2e82aea4 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobMetricsServiceImpl.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobMetricsServiceImpl.java
@@ -616,7 +616,13 @@ public class JobMetricsServiceImpl extends 
SeatunnelBaseServiceImpl implements I
 
         jobHistoryFromEngine.setId(jobInstance.getId());
 
-        jobInstanceHistoryDao.insert(jobHistoryFromEngine);
+        JobInstanceHistory byInstanceId =
+                jobInstanceHistoryDao.getByInstanceId(jobInstance.getId());
+        if (byInstanceId == null) {
+            jobInstanceHistoryDao.insert(jobHistoryFromEngine);
+        } else {
+            
jobInstanceHistoryDao.updateJobInstanceHistory(jobHistoryFromEngine);
+        }
     }
 
     private void syncCompleteJobInfoToDb(@NonNull JobInstance jobInstance) {

Reply via email to