Dear Pulsar community,

Java 21 was released on September 19th and has now become the current Java LTS 
release.

I've begun preparations in the Pulsar code base to allow for Java 21 to be used 
as the development runtime for compiling the code and running tests in the 
master branch. This is a proactive measure to gear up for Java 21 without 
committing to the switch just yet. It will help us understand the necessary 
changes when we are able to compile the code and run all tests with Java 21.

For instance, I initiated the process with the following PRs:
- Upgrade Mockito to 5.6.0 to support Java 21 [1]
- Upgrade Gradle Enterprise Maven Extension to support Java 21 [2]
After these are merged, it should be possible to start running tests with Java 
21 to see what is possibly broken and continue iterating.
Moreover, the upgrade to Lombok 1.18.30 for Java 21 support has already been 
merged [3].

Java 17 has been the recommended runtime for Pulsar server components since the 
Pulsar 2.11 release [4]. Meanwhile, the Pulsar client continues to be supported 
on Java 8+.

I would like to initiate discussions about making Java 21 the recommended and 
default runtime for Pulsar server components. Note that there will be no change 
to the Pulsar client, which will remain on Java 8+.

I guess we could come up with a PIP to document the decision once we have had 
this discussion.

Do you think we can target the switch from Java 17 to Java 21 for the Pulsar 
3.2 release?
Could anyone update me on the current schedule for Pulsar 3.2?

-Lari

[1] - https://github.com/apache/pulsar/pull/21385
[2] - https://github.com/apache/pulsar/pull/21384
[3] - https://github.com/apache/pulsar/pull/21278
[4] - 
https://github.com/apache/pulsar#pulsar-runtime-java-version-recommendation

Reply via email to