RFR: JDK-8323276: StressDirListings.java fails on AIX [v2]

Jaikiran Pai jpai at openjdk.org
Thu Jan 25 13:52:48 UTC 2024


On Thu, 11 Jan 2024 08:50:51 GMT, Varada M <varadam at openjdk.org> wrote:

>> The delay in response has caused an incomplete test and timeout error. Setting the TCP_NODELAY socket option to 1 by the property sun.net.httpserver.nodelay solves the issue.
>> 
>> JBS Issue : [JDK-8323276](https://bugs.openjdk.org/browse/JDK-8323276)
>
> Varada M has updated the pull request incrementally with one additional commit since the last revision:
> 
>   JDK-8323276: StressDirListings.java fails on AIX

Hello Bernd,

> BTW what would http server use Nagel algorithm by default and why is it affecting aix and this test so much. Is there maybe buffering or flushing missing?

I don't know about this specific AIX setup where this was causing an issue. However, in the past we have seen this happen in some other tests too on Linux (https://bugs.openjdk.org/browse/JDK-8294610). While investigating that other test, we had noticed that in a situation where there are a lot of HTTP request/response between the client and the server (like in this current StressDirListings test) and if the server responds to each request with relatively small content, then at the TCP layer on the client side, the ACKs aren't sent back to the server immediately. Instead, the (TCP) ACKs are delayed by the client's host to the server's host. This then causes the server's host to wait for the ACKs before pushing the next set of data packets to the client, even though the application layer HTTP server keeps writing out content.

This ultimately boils down to what's explained in the description of https://bugs.openjdk.org/browse/JDK-6968351.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17363#issuecomment-1910258565


More information about the net-dev mailing list