This is the latest experiment for Java 25 compatibility of Pulsar CI:
https://github.com/lhotari/pulsar/pull/215

It builds and runs tests successfully. However, it is using Hadoop/HDFS 
3.5.0-SNAPSHOT libraries for Java 25 compatibility. We cannot use a snapshot 
version for a Pulsar release.

After Hadoop 3.5.0 has been released, we can switch to Java 25 as the default 
for master branch Pulsar CI builds. It's currently unknown when Hadoop 3.5.0 
will be released. The last emails I found in Hadoop-related mailing lists 
arehttps://lists.apache.org/thread/34b5hhs5g5hhcv3wskqwdgtcbzhr4zk9 and 
https://lists.apache.org/thread/f21c0txkgxfl15r6cnjyn1powp0yc873 .

-Lari

On 2025/09/24 11:58:10 Lari Hotari wrote:
> I ran the master branch Pulsar CI build with Java 25:
> https://github.com/apache/pulsar/actions/runs/17919184261/job/50950104064
> 
> There are a few test failures. It look like some are related to the "JEP 486: 
> Permanently Disable the Security Manager" [1][2] change that happened in Java 
> 24.
> 
> We might have to consider having Java 21 as an alternative runtime for Pulsar 
> IO connectors since Java 24 makes some libraries incompatible due to JEP 486 
> and could impact connectors which don't have Java 25-compatible libraries. 
> For example, some hdfs3 tests fail in the build that was run with Java 25.
> 
> Since we might not get all connectors working with Java 25, an alternative 
> Java 21 runtime option might be needed for Pulsar Function Worker / Pulsar 
> Function Instance. We should consider getting rid of the enormous pulsar-all 
> image and replacing it with a better solution for Kubernetes deployments.
> 
> It's a big waste to bundle all Pulsar IO connectors in the Docker image. At 
> the same time, many users want to use tiered storage, and the only available 
> image with tiered storage plugins included is the pulsar-all image. There's 
> also an Apache Pulsar Helm chart issue about the large size of pulsar-all [3].
> 
> There's also a great opportunity for new contributors to make these 
> improvements. Please share your ideas.
> 
> -Lari
> 
> [1] - https://openjdk.org/jeps/486
> [2] - 
> https://www.loicmathieu.fr/wordpress/informatique/java-24-quoi-de-neuf/#:~:text=JEP%20486%3A%20Permanently%20Disable%20the%20Security%20Manager
> [3] - https://github.com/apache/pulsar-helm-chart/issues/571
> 
> On 2025/09/22 14:59:49 Lari Hotari wrote:
> > Hi,
> > 
> > Java 25 LTS has recently been released. Should we consider switching to use 
> > Java 25 as the default JVM for build & test for CI and Docker images in the 
> > master branch so that we'd release Pulsar 4.2 with Java 25 LTS Docker 
> > images?
> > 
> > -Lari
> > 
> 

Reply via email to