RFR: 8309200: java/net/httpclient/ExecutorShutdown fais intermittently, if connection closed during upgrade

Daniel Fuchs dfuchs at openjdk.org
Wed May 31 17:00:23 UTC 2023


The ExecutorShutdown test has been observed failing intermittently, notably if by misfortune the shutdown sequence causes a connection to get aborted while upgrading. The issue is that the `ConnectionAborter` class that allows to mark the connection as being scheduled for closing before a handle to the connection is actually available isn't forwarding the original exception for which closing the connection was requested. When the connection is eventually closed, a generic `IOException: connection closed locally` is raised at the `SocketTube` level, which unfortunately can race with the original cause. 

The fix makes it possible to relay the original cause to the place where the IOException is raised, in order to set it as the cause of the new exception.

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

Commit messages:
 - 8309200

Changes: https://git.openjdk.org/jdk/pull/14251/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14251&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8309200
  Stats: 61 lines in 7 files changed: 43 ins; 3 del; 15 mod
  Patch: https://git.openjdk.org/jdk/pull/14251.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14251/head:pull/14251

PR: https://git.openjdk.org/jdk/pull/14251


More information about the net-dev mailing list