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
