RFR: JDK-8288746: HttpClient resources could be reclaimed more eagerly

Brent Christian bchristi at openjdk.org
Tue Jun 21 17:39:31 UTC 2022


On Mon, 20 Jun 2022 14:09:27 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

> Hi,
> 
> Please find here a patch that should help the HttpClient's SelectorManager thread to terminate more timely, allowing the resources consumed by the client to be released earlier.
> 
> The idea is to use a Cleaner registered with the HttpClientFacade to wakeup the Selector when the facade is being gc'ed.
> Some tests have been modified to wait for the selector manager thread to shutdown, and some of them have been observed to timeout when the fix is not in place.

test/jdk/java/net/httpclient/AsFileDownloadTest.java line 207:

> 205:                 System.gc();
> 206:                 if (queue.remove(100) == ref) break;
> 207:             }

You might consider using the ForceGC test utility, here and in DigestEchoClient.java. E.g.:

 * @library /test/lib/
...
ForceGC gc = new ForceGC();
gc.await(ref.refersTo(null));

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

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


More information about the core-libs-dev mailing list