-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
JDK 21 move #15719
JDK 21 move #15719
Conversation
project.sourceCompatibility = JavaVersion.VERSION_11 | ||
project.targetCompatibility = JavaVersion.VERSION_11 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note for reviewer
Running Gradle 8.5 with JDK 21 with
./gradlew :jvm-options-parser:compileJava
trigger the error:
> Task :jvm-options-parser:compileJava FAILED
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
error: warnings found and -Werror specified
FAILURE: Build failed with an exception.
Java 8 is obsolete and its support will be dropped
Quality Gate passedThe SonarQube Quality Gate passed, but some issues were introduced. 5 New issues |
4561669
to
7904dc9
Compare
As reported in Oracle blog, a new
|
Quality Gate passedKudos, no new issues were introduced! 0 New issues |
…vor of threadId()
…g is a false positive
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested locally, works correctly. LGTM
lib/bootstrap/rspec.rb
Outdated
# It's mainly related to Gradle opening java.base module and this interfere with | ||
# JRuby binding of methods. Full description at https://github.com/jruby/jruby/issues/8061#issuecomment-1908807511 | ||
# Remove when Logstash bundle a JRuby version >= 9.4.6.0. | ||
java.util.LinkedHashSet.remove_method(:map) rescue nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually now that main and 8.13 are on JRuby 9.4.6.0 we should be able to remove this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be able to remove the JRuby < 9.4.6.0 workaround since main/8.13 is on that version.
Given that Logstash already ships with JRuby 9.4.6.0 which contains the fix jruby/jruby#8061, the workaround to avoid the original bad param numbers can be removed.
Quality Gate passedKudos, no new issues were introduced! 0 New issues |
💚 Build Succeeded
History
cc @andsel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Release notes
Adaptations to run Logstash on JDK 21
What does this PR do?
Adaptations to JDK 21:
getId
(not final) replaced by finalthreadId
https://bugs.openjdk.org/browse/JDK-8017617this
reference to other methods https://bugs.openjdk.org/browse/JDK-8015831<uri_instance>.toURL()
(since JDK 20)G1 Concurrent GC
MX Bean, refWhy is it important/What is the impact to the user?
As a developer I want that all the blockings to use JDK 21 are removed before effectively switching the bundled JDK to version 21
Checklist
[ ] I have made corresponding changes to the documentation[ ] I have made corresponding change to the default configuration files (and/or docker env variables)[ ] I have added tests that prove my fix is effective or that my feature worksAuthor's Checklist
How to test this PR locally
Install a JDK 21 on your host, example:
and run some testing, like
./gradlew runIntegrationTests -PrubyIntegrationSpecs="specs/mixed_codec_spec.rb" --console=plain
or if you would run all integration tests:
try also a run of Logstash with
LS_JAVA_HOME
set to a JDK 21 path.Related issues
Use cases
Screenshots
Logs