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]

Reply via email to