RFR: 8297976: Remove sun.net.ProgressMonitor and related classes

Daniel Fuchs dfuchs at openjdk.org
Fri Dec 2 10:28:14 UTC 2022


On Fri, 2 Dec 2022 08:31:25 GMT, Daniel Jeliński <djelinski at 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.

[JDK-8240275](https://bugs.openjdk.org/browse/JDK-8240275) seems to have a reproducer attached. Did you investigate whether turning that into a non-regression test would be worthwhile?

Otherwise this looks like a good cleanup and simplification!

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

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


More information about the core-libs-dev mailing list