On Mon, 5 Dec 2022 14:06:10 GMT, Daniel Jeliński <djelin...@openjdk.org> wrote:
>> Please review this patch that removes progress monitoring classes used by >> UrlConnection. >> Since Java 9 these classes are not used in the JDK, and are not exported >> from java.base. If anyone was still using them, reimplementing them in user >> code should be pretty straightforward. >> >> This PR also fixes the issue where MeteredStream finalizer could resurrect >> an unusable connection, causing unexpected exceptions in other parts of the >> code. >> >> No new regression test; since we are removing the finalizer, I don't believe >> we will see the issue again. I can add a test for that if you think it still >> makes sense. >> >> I had to adjust `ProxyModuleMapping.java` test which used >> `sun.net.ProgressListener` as an example of a module-private interface; I >> replaced it with another public interface from the same package. >> >> Existing tier 1-3 tests continue to pass. > > Daniel Jeliński has updated the pull request incrementally with one > additional commit since the last revision: > > Add test The reproducer from [JDK-8240275](https://bugs.openjdk.org/browse/JDK-8240275) didn't reliably reproduce the issue because some of the finalizers were replaced by cleaners in the meantime. I added a test that verifies that the socket used by HTTPSUrlConnection is not reused after its finalizer completes. The test passes with this PR, fails with the current master. ------------- PR: https://git.openjdk.org/jdk/pull/11474