Do you ❤️ Trino? Give us a 🌟 on GitHub

Trino blog

News from the community of users and contributors

23 is a go, keeping pace with Java


Only about ten Trino releases or six months ago, we released Trino 447 with the requirement to use Java 22. In recent releases we started to take more and more advantage of features that are only available with that upgrade. We made some big steps in terms of performance and talked talked about some of those performance enhancements around aircompressor in the recent Trino Community Broadcast 65.

The Java community runs its release processes on a very predictable schedule - March and September mean new Java releases. This time it’s Java 23, and Trino will not be left behind. We are upgrading to use and require Java 23 soon!.

Background and motivation #

While the new features and improvements in Java 23 are not as impactful as in Java 22, we still need to keep pace to take advantage of the improvements and avoid any problems in the future. Here are the Java Enhancement Proposals that are included with Java 23:

If you want to learn more you can check out the short summary video or the three hour long launch stream. The Oracle press release as well as the community announcement also bring you a wealth of further information.

Overall our reasoning is unchanged from the upgrade to 21 and the upgrade to 22. So what are we specifically doing now?

Current status and plans #

Early access binaries have been in use in our continuous integration builds for months. Java 23 launched today and the various JDK distribution binary packages will become available shortly. We are executing on the same blueprint as last time:

  • Wait for Eclipse Temurin binaries.
  • Ensure everything works with Java 23.
  • Change the container image to use Java 23.
  • Cut a release and get community feedback from testing with the container.
  • Adjust to any feedback and available improvements for a few releases.
  • Switch the requirement for build and runtime to Java 23.
  • Cut another release and celebrate.

Timing on all the work depends on obstacles we find on the way and how we progress with removing them. We use the Java 23 tracking issue and the linked issues and pull requests to manage progress, discuss next steps, and work with the community.

Feel free to chime in there, find us on the #core-dev channel on the Trino community Slack or join us for a contributor call.