Thanks for that advice, Alan. I have rototilled @SuppressWarnings("removal") annotations across the Derby codebase and thrown more memory at javadoc so that it won't crash on JDK 11. When I run Derby's test suites, I see a blizzard of the following diagnostics:

  WARNING: java.lang.System::setSecurityManager is deprecated and will be removed in a future release.

Unfortunately, Derby still has more than 100 canon-based tests which were developed before assertion-based testing became the norm. These tests are run both with and without a security manager. In the latter case, they now fail on JDK 17.

Is there a way to disable this diagnostic?

Even better: Could the diagnostic be removed in the next Open JDK build? It could be re-introduced when Open JDK provides a replacement for the deprecated functionality. Right now the diagnostic does not seem to provide any actionable information.


On 6/15/21 8:56 AM, Alan Bateman wrote:
On 15/06/2021 15:10, Rick Hillegas wrote:
:

When I tried to build Derby with the Rampdown Phase One build of open JDK 17 (17-ea+26-2439), I saw many warnings related to the deprecation of Security Manager classes and methods, undoubtedly the consequence of JEP 411 (https://openjdk.java.net/jeps/411). Derby, like Tomcat, embraced the Security Manager early on. Permissions checks were rototilled across the whole code base and our distributions ship with several template policy files, which we encourage users to customize for their environments. The "Configuring Java Security" section of our Security Guide explains how to do this (https://db.apache.org/derby/docs/10.15/security/index.html).

My build only reported the first 100 warnings. It is likely that there are many more.

Yes, JEP 411 deprecates a number of APIs for future removal. There probably isn't much to do right now except to be aware that the APIs are earmarked for removal in some future release. I've no doubt there will be another JEP when that time comes. I assume you know about @SuppressWarnings("removal"), which you can use to suppress the warnings for now. The JDK usages of these APIs are using SuppressWarnings as the JDK is compiled with -Xlint set to made warnings fatal.

-Alan


Reply via email to