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