RFR(s): 8228580: DnsClient TCP socket timeout
Pavel Rappo
pavel.rappo at oracle.com
Mon Sep 23 14:14:55 UTC 2019
Milan,
I'm observing the latest version (.04) of this test failing quite frequently (4/100) on Windows (Windows Server 2012 R2 6.3 (amd64)) machines. The test passes fine on macOS and Linux. Here's the typical output I see in the logs:
java.lang.RuntimeException: Query took 4997 ms. . Timeout value is 5000
java.lang.RuntimeException: Query took 4999 ms. . Timeout value is 5000
java.lang.RuntimeException: Query took 4995 ms. . Timeout value is 5000
java.lang.RuntimeException: Query took 4998 ms. . Timeout value is 5000
...
Now, there might be many reasons for that. One of which would be that the DnsClient code is buggy. The other reason would be that the accuracy guaranteed by Windows implementation of `read` is not what we would expect. Would you be able to investigate that?
P.S. The good news is that the CSR has been approved:
https://bugs.openjdk.java.net/browse/JDK-8230965
> On 23 Sep 2019, at 14:20, Milan Mimica <milan.mimica at gmail.com> wrote:
>
> Got it. Thanks Pavel!
>
>
> On Mon, 23 Sep 2019 at 13:37, Pavel Rappo <pavel.rappo at oracle.com> wrote:
>>
>> Milan,
>>
>> How do you check which tests are run? That's what I see in the /test-support/jtreg_open_test_jdk_com_sun_jndi_dns_ConfigTests_TcpTimeout_java/com/sun/jndi/dns/ConfigTests/TcpTimeout.jtr file after I have run the test locally on my machine:
>>
>> ----------messages:(5/233)----------
>> command: main TcpTimeout
>> reason: User specified action: run main TcpTimeout
>> Mode: othervm
>> Additional options from @modules: --add-modules java.base --add-exports java.base/sun.security.util=ALL-UNNAMED
>> elapsed time (seconds): 1.751
>>
>> ...
>>
>> ----------messages:(5/313)----------
>> command: main TcpTimeout -Dcom.sun.jndi.dns.timeout.initial=5000
>> reason: User specified action: run main TcpTimeout -Dcom.sun.jndi.dns.timeout.initial=5000
>> Mode: othervm
>> Additional options from @modules: --add-modules java.base --add-exports java.base/sun.security.util=ALL-UNNAMED
>> elapsed time (seconds): 5.498
>>
>> ------------------------------------
>>
>> Which is consistent with what I would expect given the timeout values.
>>
>> The following output does not tell the full story, just the name of the test:
>>
>> ==============================
>> Test summary
>> ==============================
>> TEST TOTAL PASS FAIL ERROR
>> jtreg:open/test/jdk/com/sun/jndi/dns/ConfigTests/TcpTimeout.java
>> 1 1 0 0
>> ==============================
>> TEST SUCCESS
>>
>> -Pavel
>>
>>> On 20 Sep 2019, at 15:42, Milan Mimica <milan.mimica at gmail.com> wrote:
>>>
>>> Pavel,
>>>
>>> Here it is: http://cr.openjdk.java.net/~mmimica/8228580/webrev.04/
>>> I don't see the test is run twice when I execute "make test
>>> TEST=jtreg:test/jdk/com/sun/jndi/dns/ConfigTests/TcpTimeout.java". Am
>>> I missing something?
>>>
>
>
> --
> Milan Mimica
More information about the core-libs-dev
mailing list