BobSong-dev opened a new pull request, #7574:
URL: https://github.com/apache/shenyu/pull/7574
Background
Agent Gateway could turn an inner Reactor or JDK HTTP timeout into an
internal
error before the outer request timer fired. An already expired upstream
deadline
also appeared as an internal error, and an explicit HTTP 504 was counted as a
server error rather than a timeout.
### Changes
- Preserve Reactor timeouts and normalize JDK HTTP timeouts so the existing
handler returns HTTP 504 without exposing the upstream exception message;
- Reject an expired upstream deadline as a timeout before sending an HTTP
request;
- Record explicit HTTP 504 failures as TIMEOUT;
- Add JSON/SSE regressions for timeout responses, one terminal observation,
lease/future release, zero requests after expiry and a healthy peer.
This fix does not add retries or change catalog-unavailable errors, filtering
errors, unrelated internal errors or the existing cancellation ownership. It
is
based directly on merged master and does not depend on HTTP Tools PR #7572.
### Verification
- Before the fix: 13 distinct regression cases failed across two runs (11
and 2);
- Windows/JDK17 and RISC-V/QEMU/JDK17: each selected 14-module `clean verify`
completed with 577 tests, zero failures/errors/skips; Checkstyle and RAT
passed;
- The real loopback HTTP client regression exercises Dispatcher, Handler and
observer with controlled catalog/ingress fixtures, not a full Bootstrap
e2e;
- `git diff --check` and source/isolation checks passed.
--
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]