RFR: 8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle
Jaikiran Pai
jpai at openjdk.org
Mon Oct 30 06:15:34 UTC 2023
On Wed, 25 Oct 2023 17:27:57 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> This patch fixes a race between the selector thread and the IdleTimeoutTask which closes connections that were idle for longer than IDLE_INTERVAL. With this patch, only the thread that successfully removes the connection from idleConnections is permitted to change it. If any data arrives after the IdleTimeoutTask removes the connection from idleConnections, the data is ignored.
>
> Additionally, this patch reduces the time interval between when the IdleTimeoutTask removes the connection from idleConnections and when the connection is closed, back to pre-JDK-8286918 level.
>
> No new test; with platform sockets it's next to impossible to reliably get the timing right. Existing tier1-3 tests pass.
Thank you Daniel for addressing this. This looks OK to me, I just have one related question which I've added inline. Finally, given this relates to intermittent/racy issue, it would be good to verify that this change continues to work with a test-repeat of maybe 50.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16366#issuecomment-1784543527
More information about the net-dev
mailing list