RFR: 8369313: java/net/httpclient/TimeoutBasic.java should accept that HttpTimeoutException should be somewhere down the cause chain

Daniel Fuchs dfuchs at openjdk.org
Wed Oct 8 17:33:57 UTC 2025


On Wed, 8 Oct 2025 17:28:05 GMT, Volkan Yazici <vyazici at openjdk.org> wrote:

>> The TimeoutBasic.java test expects that HttpTimeoutException will be either the root cause, or the cause of the root cause of a CompletionException, while in fact it could be further down the cause chain. The test logic should be relaxed to allow that.
>> 
>> In addition I have logged a followup RFE ([JDK-8369315](https://bugs.openjdk.org/browse/JDK-8369315)) to possibly revisit the wrapping of HttpTimeoutExceptions.
>
> test/jdk/java/net/httpclient/TimeoutBasic.java line 156:
> 
>> 154: 
>> 155:         // print not matching exception stack trace
>> 156:         e.printStackTrace(out);
> 
> I don't know if this is intentional, but this will duplicate the stack trace in the JTreg output – the other one will be emitted due to `throw new AssertionError` at line 165. I'm fine with keeping it, but replacing lines 155-165 with a
> 
>     throw new AssertionError("could not find `HttpTimeoutException` in the causal chain", x);
> 
> one-liner is good enough, IMHO.

Yes - it is intentional to have it on stdout as well as stderr. It reduces the chances of it being lost in the dreaded output overflow.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27694#discussion_r2414563644


More information about the net-dev mailing list