RFR(s): 8228580: DnsClient TCP socket timeout
Pavel Rappo
pavel.rappo at oracle.com
Tue Sep 10 12:38:44 UTC 2019
Milan,
ping?
> On 5 Sep 2019, at 16:02, Pavel Rappo <pavel.rappo at oracle.com> wrote:
>
> I think we are almost there. What do you think of the following incremental (i.e. on top of your latest webrev) change?
>
> http://cr.openjdk.java.net/~prappo/8228580/webrev.01/
>
> I fixed a couple of trivial typos and addressed the socket relinquishing issue. Initializing a socket is not an atomic "all-or-nothing" operation now. Someone needs to take care of the socket in case things go not as planned.
>
> -Pavel
>
>> On 5 Sep 2019, at 11:20, Milan Mimica <milan.mimica at gmail.com> wrote:
>>
>> On Wed, 4 Sep 2019 at 20:32, Florian Weimer <fweimer at redhat.com> wrote:
>>>
>>> If you use the initial UDP timeout (one second, I think), the kernel
>>> will not complete the TCP handshake if the initial SYN segment is lost
>>> because the retransmit delay during the handshake is longer than that.
>>
>> We could set a higher timeout value, but I would not prefer that.
>> After all, 1 second is just default value, and can be changed. If the
>> user wants us to give up on DNS query after the specified timeout then
>> lets do just that. True, some queries that previously worked might
>> start failing, but that is true even for slow socket.read()
>> operations.
>>
>> New webrev: http://cr.openjdk.java.net/~mmimica/8228580/webrev.01/
>>
>> * simplified test with no thread (nice catch Pavel)
>> * set connect timeout and account for it
>>
>> --
>> Milan Mimica
>
More information about the core-libs-dev
mailing list