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) {