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

Reply via email to