On Thu, 3 Jul 2025 10:49:21 GMT, Volkan Yazici <vyaz...@openjdk.org> wrote:

>> The PlainHttpConnection::connectAsync method implements a retry logic that 
>> will call connect() again if connect() throws the first time. This will not 
>> work, as the channel is closed when connect() throws. That logic should be 
>> removed. Reconnection should only be attempted at a higher level 
>> (MultiExchange).
>
> src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java
>  line 1:
> 
>> 1: /*
> 
> Shouldn't we remove the following too?
> 
> 1. The `unsuccessfulAttempts` field
> 2. `jdk.internal.net.http.common.TimeSource` import

Good point.

> src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java
>  line 232:
> 
>> 230:         }
>> 231:         return cf.thenApply((state)->{
>> 232:             if (debug.on()) debug.log("%s: %s", label(), state);
> 
> AFAICT, this is the only place where a `ConnectState` is _read_. 
> Alternatively, we can remove the `ConnectState` enum and add `debug.log()` 
> statements where `ConnectState` were assigned.

I know. I hesitated and eventually decided to keep it.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26087#discussion_r2182716896
PR Review Comment: https://git.openjdk.org/jdk/pull/26087#discussion_r2182718272

Reply via email to