RFR: 8318492: Http2ClientImpl should attempt to close and remove connection in stop()

Conor Cleary ccleary at openjdk.org
Tue Oct 24 12:51:44 UTC 2023


If Http2ClientImpl::stop() is called, it will loop through the connections map and call the close() method on each connection. The changes in this PR make sure that the connection thread (where close is called from) removes the `Http2Connection` from the connection pool to prevent inactive connections from remaining in there rather than just closing it. 

Even though the connection can be and usually is removed from the pool in other places (reader or writer thread), this change ensures removal from the pool in cases where the connection is shutdown by an exception, reset, etc. The issue was first spotted when a RST_STREAM triggered repeated attempts to remove idle connections from the pool before a regular shutdown could occur.

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

Commit messages:
 - 8318492: Http2ClientImpl should attempt to close and remove connection in stop()

Changes: https://git.openjdk.org/jdk/pull/16340/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16340&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8318492
  Stats: 4 lines in 1 file changed: 2 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/16340.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16340/head:pull/16340

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


More information about the net-dev mailing list