RFR: 7116990: (spec) Socket.connect(addr,timeout) not clear if IOException because of TCP timeout [v2]
Mark Sheppard
msheppar at openjdk.org
Mon Jun 9 13:01:52 UTC 2025
On Mon, 9 Jun 2025 11:40:37 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
>> src/java.base/share/classes/java/net/Socket.java line 625:
>>
>>> 623: *
>>> 624: * @apiNote Establishing a TCP/IP connection is subject to connection timeout settings
>>> 625: * in the operating system. The typical timeout is 60 seconds. If the operating system
>>
>> Suggestion:
>>
>> * in the operating system. The typical operating system timeout is 60 seconds. If the operating system
>>
>>
>> I would suggest repeating "operating system timeout" here too, to remove confusion with the simple API `timeout` which also appears later in this paragraph.
>
> Done
FWIW:
Stating a typical value of 60 seconds timeout can lead to a misconception ... From from TCP standards and depending on which literature you read (OS docs or unix networking socket programming) then 75 secs should be a more typical default
I think the 60 seconds comes from a perceived setting on linux.
It would be better to say that, the value is OS dependent, influenced by OS network setting relating to syn receive timeouts and the number of syn retries, and governed by the TCP retransmission timer implementation, rather than stating a particular value.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25690#discussion_r2135676303
More information about the net-dev
mailing list