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

fanjia pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 0842ec24aa [bugfix][zeta] Fix the issue of two identical IDs appearing 
when executing seatunnel.sh -l as the job resumes (#5191)
0842ec24aa is described below

commit 0842ec24aae7bc97190f6663408c728f782acda4
Author: ic4y <[email protected]>
AuthorDate: Tue Aug 1 15:08:53 2023 +0800

    [bugfix][zeta] Fix the issue of two identical IDs appearing when executing 
seatunnel.sh -l as the job resumes (#5191)
---
 .../apache/seatunnel/engine/server/master/JobHistoryService.java | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobHistoryService.java
 
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobHistoryService.java
index 12dcae40ca..dda9a2d0f3 100644
--- 
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobHistoryService.java
+++ 
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobHistoryService.java
@@ -42,7 +42,9 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 public class JobHistoryService {
@@ -101,10 +103,15 @@ public class JobHistoryService {
     // Gets the status of a running and completed job
     public String listAllJob() {
         List<JobStatusData> status = new ArrayList<>();
+        Set<Long> runningJonIds =
+                runningJobMasterMap.values().stream()
+                        .map(master -> 
master.getJobImmutableInformation().getJobId())
+                        .collect(Collectors.toSet());
         Stream.concat(
                         runningJobMasterMap.values().stream()
                                 .map(master -> toJobStateMapper(master, true)),
-                        finishedJobStateImap.values().stream())
+                        finishedJobStateImap.values().stream()
+                                .filter(jobState -> 
!runningJonIds.contains(jobState.getJobId())))
                 .forEach(
                         jobState -> {
                             JobStatusData jobStatusData =

Reply via email to