Skip to content

minor: Upgrade to JDK 25#19304

Merged
jtuglu1 merged 2 commits intoapache:masterfrom
jtuglu1:upgrade-to-jdk-25
Apr 16, 2026
Merged

minor: Upgrade to JDK 25#19304
jtuglu1 merged 2 commits intoapache:masterfrom
jtuglu1:upgrade-to-jdk-25

Conversation

@jtuglu1
Copy link
Copy Markdown
Contributor

@jtuglu1 jtuglu1 commented Apr 13, 2026

Description

Switches compiler to JDK 21, supports JDK 25 for future release, and drops support for JDK 17. Not mergeable until dev thread is approved for deprecation of JDK 17. Moves LTS support for Druid to JDK 21 and JDK 25. Corresponding dev list thread: https://lists.apache.org/thread/ovk7y4hkvn6fpk71trnbvmno22l6n1bx.

Release note

Supports JDK 25 and drops support for JDK 17. Not mergeable until dev thread is approved for deprecation of JDK 17. Moves LTS support for Druid to JDK 21 and JDK 25.


This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • a release note entry in the PR description.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added or updated version, license, or notice information in licenses.yaml
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
  • added integration tests.
  • been tested in a test Druid cluster.

@jtuglu1 jtuglu1 force-pushed the upgrade-to-jdk-25 branch 2 times, most recently from f2f9b02 to 9958bc2 Compare April 13, 2026 23:27
@jtuglu1 jtuglu1 force-pushed the upgrade-to-jdk-25 branch from 9958bc2 to d3e81ec Compare April 13, 2026 23:31
@jtuglu1 jtuglu1 requested a review from clintropolis April 13, 2026 23:46
@jtuglu1 jtuglu1 force-pushed the upgrade-to-jdk-25 branch 3 times, most recently from 5f4a5dd to 18286af Compare April 14, 2026 04:13
@jtuglu1 jtuglu1 force-pushed the upgrade-to-jdk-25 branch from 18286af to c8119ec Compare April 14, 2026 05:20
@jtuglu1 jtuglu1 requested a review from gianm April 14, 2026 06:19
@jtuglu1 jtuglu1 force-pushed the upgrade-to-jdk-25 branch from c8119ec to eff176d Compare April 14, 2026 19:17
@jtuglu1 jtuglu1 marked this pull request as ready for review April 14, 2026 19:55
@jtuglu1 jtuglu1 requested a review from capistrant April 15, 2026 00:25
@jtuglu1 jtuglu1 force-pushed the upgrade-to-jdk-25 branch from eff176d to df40791 Compare April 15, 2026 00:29
@jtuglu1
Copy link
Copy Markdown
Contributor Author

jtuglu1 commented Apr 16, 2026

@gianm @clintropolis @capistrant can this be reviewed? We will also need to explicitly call out JDK 17 deprecation in the release notes/docs as well.

Looks it it has been, thank you.

Copy link
Copy Markdown
Contributor

@capistrant capistrant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks agreeable. left one nit related to comment discrepancy in test file

// or isn't
if (JvmUtils.majorVersion() >= 20 || JvmUtils.majorVersion() < 9) {
Assert.assertTrue(pool.awaitQuiescence(3, TimeUnit.SECONDS));
// JDK 11-23: pool may not clean up reliably after a timeout (flaky), so we skip the assertion.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: this seems like an incorrect range since we do in fact assert for 20 - 23

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done – scoped to 11-19.

@capistrant capistrant added Release Notes Upgrade note Behavior change that requires an upgrade note labels Apr 16, 2026
@capistrant
Copy link
Copy Markdown
Contributor

@gianm @clintropolis @capistrant can this be reviewed? We will also need to explicitly call out JDK 17 deprecation in the release notes/docs as well.

Looks it it has been, thank you.

good point, can you identify and make docs changes within this PR?

@jtuglu1
Copy link
Copy Markdown
Contributor Author

jtuglu1 commented Apr 16, 2026

@gianm @clintropolis @capistrant can this be reviewed? We will also need to explicitly call out JDK 17 deprecation in the release notes/docs as well.
Looks it it has been, thank you.

good point, can you identify and make docs changes within this PR?

done

@capistrant capistrant self-requested a review April 16, 2026 16:18
@jtuglu1 jtuglu1 added the test-jdk21 Run tests on JDK 21 label Apr 16, 2026
@jtuglu1 jtuglu1 closed this Apr 16, 2026
@jtuglu1 jtuglu1 reopened this Apr 16, 2026
@jtuglu1 jtuglu1 merged commit 77d258c into apache:master Apr 16, 2026
61 of 76 checks passed
@github-actions github-actions Bot added this to the 38.0.0 milestone Apr 16, 2026
jtuglu1 added a commit that referenced this pull request Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants