-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop support for Java 8 #920
Comments
While I agree, that no one should be using Java 8 at this point, there are still users using it and vendors supporting it. Azul has support for Java 8 until 2030 https://www.azul.com/products/azul-support-roadmap/ AWS has support for Corretto until May 2026 https://aws.amazon.com/about-aws/whats-new/2020/08/amazon-corretto-8-11-support-extended/ Removing support would be problematic for the community. |
@dhoard I had a feeling that would be the response, which is why I raised this as a discussion rather than a PR. I'm curious, do you have evidence that there are users running JDK 8? I wonder if it might be possible to produce multiple JARs. One for JDK 8, and one compiled for a newer JDK? |
This type of evidence is hard to prove/disprove. I can only infer there are Java 8 users, hence possibly Java 8 JMX Exporter users, since multiple companies have paid extended support. (Oracle sells extended support until December 2030.) |
Fair point. How about we create two Maven profiles, one for targeting JFK 8, and one to target JDK 9, then release multiple artifacts? Shouldn't be too difficult to sort out, although looking through the CI, I couldn't determine how release artifacts are distributed to GitHub/Maven Central. |
We were generating two artifacts when we supported Java 6 and Java 8 and it was a total mess. I'll have to put some thought into an approach that will work. |
In the meantime, I'll build it myself. This should enable me to quantify any performance improvement. |
@nicktelford have you been able to quantify any performance improvements? I have tested targeting different Java versions (8, 11, 17, 21) via The dependent libraries in |
Closing |
@dhoard Sorry, I didn't see your message back in April. I can't quantify it exactly, but I did compile The flamegraph in my comment in #919 shows poor performance of In Java 9, this optimization was changed to use
|
@nicktelford I have been working on/testing a potential Java build/integration testing change that will build targeted releases. Here are zips of the latest JMX Exporter jars targeting specific Java versions. java8.zip
Any testing is much appreciated! |
@dhoard what testing are you looking for in particular? |
@nicktelford the latest code uses the latest i.e. Is the change worth the complexity? |
Java 9 introduced some significant optimizations to String concatenation that should improve the performance of jmx_exporter considerably, since it does a lot of String concatenation.
However, to gain this benefit, jmx_exporter must be compiled to target at least JDK 9.
Java 8 is (as of March 2024 this year) now 10 years old, and has been officially EOL by Oracle since March 2022.
I propose we bump the compiler source and target versions to
9
. While OpenJDK 9 is also EOL, I don't see any benefit from requiring users to use anything higher just yet.While there may be some users still using JDK 8, it should be quite unlikely.
The text was updated successfully, but these errors were encountered: