On Thu, 12 Jun 2025 10:19:21 GMT, Mark Sheppard <[email protected]> wrote:
>> Looking at this on the 3 main OS platforms (Windows, OL and macOS) and
>> running a simple test to trigger a connect timeout then finding are
>>
>> macOS the connect timeout is 75 seconds as this is derived from 4.3 BSD
>>
>> If OL linux has a syn retries set to 6 and an RTO == 1 sec then it’s connect
>> timeout is 130 seconds approx
>> That’s initial syn timeout of 1 seconds and then 6 retries totalling 127
>> seconds
>>
>> Windows by default connect timeout is 21 seconds
>> RTT == 3 seconds and two connect retries
>> Initial syn timeout 3 seconds + 2 retries at 6 and 12 seconds == 21 seconds
>
> FWIW an possible alternative wording
>
> Establishing a TCP/IP connection is subject to a connect timeout, determined
> by configuration settings
> of the operating system, for example the number of connect retries together
> with a TCP/IP implementation’s back off strategy. Thus, TCP/IP Connect
> timeout values can vary across operating system, for example 75 seconds on
> macOS, with a default value of 21 seconds on Windows system. As such, the
> operating system TCP/IP Connect timeout may expire before that specified to
> the connect method. If the operating system Connect timeout expires
> before the {@code timeout} specified to this method then an {@code
> IOException} is thrown. The {@code timeout}
> specified to this method is typically a timeout value that is shorter than
> the operating system timeout.
Hello Mark, I discussed this with Alan and based on those discussions I have
now reworded that sentence to make it clear that 60 second isn't the only
typical timeout and at the same time keep the text concise.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25690#discussion_r2144350812