On 29/06/21 12:21 am, Alan Bateman wrote:
On 28/06/2021 18:16, Jaikiran Pai wrote:

On a slightly related note, I was wondering why we decided to go with what appears to be a bit more aggressive approach to these warning messages as compared to what was done with the illegal reflective access warnings? I would have thought that the illegal reflective access changes would be much more involved if not the same level as moving away from setSecurityManager calls.
The typical SM setup will be to set it once, the Ant "same JVM" scenario where it sets and then resets it may be unusual.

In any case, the original implementation patch did have caching to avoid duplicates. It wasn't quite right and had to be pulled, it may be time to re-visit that to avoid too much noise for code that sets it many times.

Thank you Alan. I see that https://bugs.openjdk.java.net/browse/JDK-8269543 has been created for this. I'll keep a watch on that one.


> Out of all these 4 points, I think if point number 2 can be addressed such that it just prints only once the warning for each caller class, then the issue noted by users of Ant build file will be drastically reduced. I haven't yet tried or proved it, but I think we will end up with just one log message in their STDERR for the entire build for a majority of the cases. I will experiment with that this week to see if that's true.

FWIW - I implemented a very primitive cache in the System class to log this message just once and see if it helps for the general/regular usecase that I used as an example. That indeed helped and I see that the warning message just gets printed once for the entire lifetime of the build process, no matter how many "java" tasks get called. So the changes in JDK-8269543 will help us to a considerable extent.


-Jaikiran



Reply via email to