Page MenuHomePhabricator

Upgrade to Gerrit 3.12
Open, Needs TriagePublic

Description

BookwormJava 21Gerrit 3.11Gerrit 3.12

Gerrit is expected to release a new version on May 12th 2025 (Release plan). This task is to upgrade Gerrit to 3.12.

Release Notes
https://www.gerritcodereview.com/3.12.html

Breaking changes

To be checked

Already identified breaking change:

  • Drop support for Java 17 (require Java 21)

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
OpenNone
OpenNone
OpenNone
OpenNone
In ProgressABran-WMF
OpenNone
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedMatthewVernon
ResolvedLSobanski
ResolvedABran-WMF
OpenABran-WMF
ResolvedLSobanski
Resolvedhashar
OpenNone
Resolvedhashar
ResolvedDzahn
In ProgressABran-WMF
ResolvedDzahn
OpenNone
Resolved Marostegui
ResolvedDzahn
OpenNone
ResolvedDzahn
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF

Event Timeline

Since:

  • Gerrit 3.12 drops support for Java 17 and requires Java 21
  • Debian Bookworm provides Java 17
  • Debian Trixie will provide Java 21

My guess is we will have to either:

  • reimage the Gerrit servers to Debian Trixie with a forward port of Java 17 then switch to java 21
  • Backport Java 21 to Bookworm and switch Java on the existing server (and reimage later).

Jenkins might drop support for Java 17 at some point at the end of 2025 (can be checked at https://www.jenkins.io/doc/book/platform-information/support-policy-java/ ).

we had an early backport done though:

A preliminary backport of Java 21 is now available in component/jdk21, it can already be used to build CAS 7.0.
(It's preliminary package since I had to use a bootstrap package (Bookworm has Java 17, but Java 21 needs Java 20/21 to build, while Java 20 needs Java 19/20 to build etc. pp). Now that the bootstrap dep is imported to the component,I'll next rebuild openjdk-21 using this bootstrap package)

But I think it is fine to wait for Debian Trixie and an "official" backport.

We have a maintained Java 21 backport for Bookworm! It was needed for Apereo CAS which also requires Java 21 and can be found in component/jdk21

As such, I'd propose the following plan instead:

  • Reimage Gerrit servers to Bookworm (Gerrit already uses Java 17 and Bookworm provides it natively)
  • Switch to Java 21 with the move to Gerrit 3.12
  • And when you move to Trixie later, it'll only come with Java 21 anyway

I have filed T392464: Upgrade Gerrit hosts from Bullseye to Bookworm to upgrade to Bookworm :-]

Before or after that we can upgrade to Gerrit 3.11 T379714. Once we have both 3.11 and Bookworm we can switch to Java 21 and after that upgrade to 3.12 (T392448)