On Wed, 15 Oct 2025 12:00:25 GMT, Volkan Yazici <[email protected]> wrote:
>> Ensure `HttpClient::sendAsync` translates every operational failure to an >> `IOException` as per specification. >> >> `tier1-2` passes with the proposed changes. >> >> **Context:** The parent issue, [JDK-8364733], reports that >> `HttpClient::sendAsync` leaks exceptions which do not extend from >> `IOException`, and this violates the method's specification. The >> [JDK-8367067] (#26876) sub-task improved issues around exceptions thrown by >> request body publishers – which triggered the first encounter with this >> problem. This PR (and its associated sub-task) is aimed to end this saga. >> >> [JDK-8364733]: https://bugs.openjdk.org/browse/JDK-8364733 >> [JDK-8367067]: https://bugs.openjdk.org/browse/JDK-8367067 > > Volkan Yazici has updated the pull request with a new target base due to a > merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains five additional > commits since the last revision: > > - Merge remote-tracking branch 'upstream/master' into sendAsyncExWrap > - Use `Utils::getCompletionCause` > > Co-authored-by: Daniel Fuchs <[email protected]> > - Document exception wrapping in `HttpClientImpl::send` > - Fix test failures > - Ensure `sendAsync` wraps execution failures in `IOException` test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java line 683: > 681: public boolean test(Throwable throwable) { > 682: // `UncheckedIOException` is peeled off by > `HttpClientImpl::translateSendAsyncExecFailure` > 683: return throwable instanceof CustomIOException; We want to preserve the UncheckedIOException here. We don't want to peel it off. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27787#discussion_r2432699343
