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

wanghailin 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 895089e9e1 [Bugfix] [REST-API] Fixed the problem that the return list 
is empty due to no status parameters (#6040)
895089e9e1 is described below

commit 895089e9e19726d931375072ed3286c2ea5170ea
Author: Guangdong Liu <[email protected]>
AuthorDate: Fri Dec 22 11:11:44 2023 +0800

    [Bugfix] [REST-API] Fixed the problem that the return list is empty due to 
no status parameters (#6040)
---
 docs/en/seatunnel-engine/rest-api.md               |  2 +-
 .../org/apache/seatunnel/engine/e2e/RestApiIT.java | 23 ++++++++++++++++++++++
 .../server/rest/RestHttpGetCommandProcessor.java   |  8 +++++++-
 3 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/docs/en/seatunnel-engine/rest-api.md 
b/docs/en/seatunnel-engine/rest-api.md
index e62b19b448..1877147871 100644
--- a/docs/en/seatunnel-engine/rest-api.md
+++ b/docs/en/seatunnel-engine/rest-api.md
@@ -118,7 +118,7 @@ network:
 ### Return all finished Jobs Info.
 
 <details>
- <summary><code>GET</code> 
<code><b>/hazelcast/rest/maps/finished-jobs-info/:state</b></code> 
<code>(Return all finished Jobs Info.)</code></summary>
+ <summary><code>GET</code> 
<code><b>/hazelcast/rest/maps/finished-jobs/:state</b></code> <code>(Return all 
finished Jobs Info.)</code></summary>
 
 #### Parameters
 
diff --git 
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java
 
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java
index 445d167ad8..0123fb9297 100644
--- 
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java
+++ 
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java
@@ -227,6 +227,29 @@ public class RestApiIT {
                                             "[" + i.get() + 
"].metrics.SinkWriteCount",
                                             equalTo("100"))
                                     .body("[" + i.get() + "].jobStatus", 
equalTo("FINISHED"));
+
+                            // test for without status parameter.
+                            given().get(
+                                            HOST
+                                                    + instance.getCluster()
+                                                            .getLocalMember()
+                                                            .getAddress()
+                                                            .getPort()
+                                                    + 
RestConstant.FINISHED_JOBS_INFO)
+                                    .then()
+                                    .statusCode(200)
+                                    .body("[" + i.get() + "].jobName", 
equalTo("test测试"))
+                                    .body("[" + i.get() + "].errorMsg", 
equalTo(null))
+                                    .body(
+                                            "[" + i.get() + "].jobDag.jobId",
+                                            equalTo(Long.parseLong(jobId)))
+                                    .body(
+                                            "[" + i.get() + 
"].metrics.SourceReceivedCount",
+                                            equalTo("100"))
+                                    .body(
+                                            "[" + i.get() + 
"].metrics.SinkWriteCount",
+                                            equalTo("100"))
+                                    .body("[" + i.get() + "].jobStatus", 
equalTo("FINISHED"));
                             i.getAndIncrement();
                         });
     }
diff --git 
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/rest/RestHttpGetCommandProcessor.java
 
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/rest/RestHttpGetCommandProcessor.java
index 892c59b097..370dd71953 100644
--- 
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/rest/RestHttpGetCommandProcessor.java
+++ 
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/rest/RestHttpGetCommandProcessor.java
@@ -179,8 +179,14 @@ public class RestHttpGetCommandProcessor extends 
HttpCommandProcessor<HttpGetCom
     private void handleFinishedJobsInfo(HttpGetCommand command, String uri) {
 
         uri = StringUtil.stripTrailingSlash(uri);
+
         int indexEnd = uri.indexOf('/', URI_MAPS.length());
-        String state = uri.substring(indexEnd + 1);
+        String state;
+        if (indexEnd == -1) {
+            state = "";
+        } else {
+            state = uri.substring(indexEnd + 1);
+        }
 
         IMap<Long, JobState> finishedJob =
                 this.textCommandService

Reply via email to