RFR(s): 8228580: DnsClient TCP socket timeout
Pavel Rappo
pavel.rappo at oracle.com
Thu Sep 5 15:02:43 UTC 2019
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