On Wed, 15 Oct 2025 13:46:51 GMT, Daniel Fuchs <[email protected]> wrote:

>> test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java line 
>> 476:
>> 
>>> 474:     }
>>> 475: 
>>> 476:     private static boolean throwableCausalChainContainsInstanceOf(
>> 
>> `HttpClientImpl::send` wraps `IOException` (wrapping 
>> `IllegalArgumentException`) thrown by `sendAsync` in an `IOException` again. 
>> As a result, the existing checks performing _"unwrapping of `IOException` 
>> once"_ do not work anymore. Since the existing unwrapping was not strict – 
>> that is, they're not enforced, but optionally unwrapping if types match in 
>> the causal chain – I've further relaxed it with scanning the causal chain.
>
> I wonder if we should add the wrapping only when sendAsync is not called by 
> send?

Implemented in ec28a849112, and reverted this test change.

>> test/jdk/java/net/httpclient/http3/StopSendingTest.java line 184:
>> 
>>> 182:     }
>>> 183: 
>>> 184:     private static boolean throwableCausalChainContainsInstanceOf(
>> 
>> `HttpClientImpl::send` wraps `IOException` (wrapping 
>> `CancellationException`) thrown by `sendAsync` in an `IOException` again. As 
>> a result, the existing checks performing _"unwrapping of `IOException` 
>> once"_ do not work anymore. Since the existing unwrapping was not strict – 
>> that is, they're not enforced, but optionally unwrapping if types match in 
>> the causal chain – I've further relaxed it with scanning the causal chain.
>
> We don't want to wrap CancellationException. That's a valid exception for any 
> CompletableFuture to throw.

Implemented in ec28a849112, and reverted this test change.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27787#discussion_r2433724894
PR Review Comment: https://git.openjdk.org/jdk/pull/27787#discussion_r2433725558

Reply via email to