DanielLeens commented on PR #11597:
URL: https://github.com/apache/seatunnel/pull/11597#issuecomment-5673870825
Restating the non-CI item first, since that part of the thread got cut off
for you.
**Non-CI blocker: v1 REST path Content-Type mismatch (from the 2026-09-12
comment).** `RestApiIT.testGetRunningJobSlotUsage` was failing because the
legacy v1 endpoint (`RestHttpGetCommandProcessor.handleRunningJobsSlotUsage`,
served over the Hazelcast REST port) returned the slot-usage JSON as a raw
`String`, and Hazelcast's `prepareResponse(HttpCommand, Object)` serves a
`String` argument as `text/plain` rather than `application/json` — unlike the
v2 Jetty path (`BaseServlet.writeJsonString`), which sets `Content-Type:
application/json` explicitly. The test's strict `.as(TypeRef...)`
deserialization against the v1 URL failed with `Cannot parse object because no
supported Content-Type was specified in response`.
This is already fixed at the current head, in commit `2995a72ff6` ("Serve
the legacy running-jobs slot-usage endpoint as JSON").
`handleRunningJobsSlotUsage` now does:
```java
this.prepareResponse(
command,
Json.parse(runningJobSlotUsageService.getRunningJobSlotUsageJson()).asArray());
```
Parsing the JSON string into a `JsonArray` before passing it to
`prepareResponse` means Hazelcast serves it as a non-`String` `Object`, which
takes the `application/json` code path — matching every other JSON endpoint in
this class. The code comment right above that call spells out the same
reasoning. This should be verifiable directly against `07510c5530e6` / the new
head `6ce47234d4`.
**On the three CI-side asks:**
1. Merged the latest `dev` (`0d9f9e2303`) into this branch and pushed — head
is now `6ce47234d4`, a plain merge commit with no change to this PR's own diff
(docs/en+zh `rest-api-v2.md` auto-merged cleanly against dev's own unrelated
doc additions, no overlap with this PR's content). Fresh fork Build run:
https://github.com/DanielLeens/seatunnel/actions/runs/34922186875 (queued as of
this comment).
2. Will do — if `engine-v2-it` or `all-connectors-it-2` still show failures
once this run completes, I'll rerun those specific jobs in isolation before
drawing any conclusion, rather than reading the first pass as final.
3. Will drop the run link and confirm PR-owned files are unchanged once
there's a clean (or isolated-rerun-clean) result on this head.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]