Page MenuHomePhabricator

Upgrade to Gerrit 3.9
Closed, ResolvedPublic

Description

This task is to upgrade to 3.9.x series

Release notes https://www.gerritcodereview.com/3.9.html

notes

breaking changes

To be checked https://www.gerritcodereview.com/3.9.html#breaking-changes

Event Timeline

Change #1036999 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/software/gerrit@wmf/stable-3.9] Merge tag 'v3.9.5' into wmf/stable-3.9

https://gerrit.wikimedia.org/r/1036999

Change #1036999 merged by jenkins-bot:

[operations/software/gerrit@wmf/stable-3.9] Merge tag 'v3.9.5' into wmf/stable-3.9

https://gerrit.wikimedia.org/r/1036999

Change #1037041 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/software/gerrit@deploy/wmf/stable-3.9] Gerrit 3.9.5, rebuild plugins and update TypeScript API

https://gerrit.wikimedia.org/r/1037041

Change #1037041 merged by jenkins-bot:

[operations/software/gerrit@deploy/wmf/stable-3.9] Gerrit 3.9.5, rebuild plugins and update TypeScript API

https://gerrit.wikimedia.org/r/1037041

Mentioned in SAL (#wikimedia-operations) [2024-06-03T08:08:13Z] <hashar@deploy1002> Started deploy [gerrit/gerrit@7838134]: Gerrit to v3.9.5 on gerrit2002 - T354887

Mentioned in SAL (#wikimedia-operations) [2024-06-03T08:08:21Z] <hashar@deploy1002> Finished deploy [gerrit/gerrit@7838134]: Gerrit to v3.9.5 on gerrit2002 - T354887 (duration: 00m 08s)

Mentioned in SAL (#wikimedia-operations) [2024-06-03T08:08:35Z] <hashar@deploy1002> Started deploy [gerrit/gerrit@7838134]: Gerrit to v3.9.5 on gerrit1003 - T354887

Mentioned in SAL (#wikimedia-operations) [2024-06-03T08:08:40Z] <hashar@deploy1002> Finished deploy [gerrit/gerrit@7838134]: Gerrit to v3.9.5 on gerrit1003 - T354887 (duration: 00m 05s)

Change #1037922 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/software/gerrit@deploy/wmf/stable-3.9] Revert "Gerrit 3.9.5, rebuild plugins and update TypeScript API"

https://gerrit.wikimedia.org/r/1037922

Change #1037922 merged by jenkins-bot:

[operations/software/gerrit@deploy/wmf/stable-3.9] Revert "Gerrit 3.9.5, rebuild plugins and update TypeScript API"

https://gerrit.wikimedia.org/r/1037922

Mentioned in SAL (#wikimedia-operations) [2024-06-03T08:15:24Z] <hashar@deploy1002> Started deploy [gerrit/gerrit@c93e47d]: Revert Gerrit back to 3.8.6 - T354887

Mentioned in SAL (#wikimedia-operations) [2024-06-03T08:15:29Z] <hashar@deploy1002> Finished deploy [gerrit/gerrit@c93e47d]: Revert Gerrit back to 3.8.6 - T354887 (duration: 00m 05s)

I have merged the change to upgrade to 3.9, stopped Gerrit on the replica gerrit2002 and upon running the initialization (java -jar gerrit.war init):

Error: LinkageError occurred while loading main class Main
	java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

That is the gerrit.war for 3.9.5 not supporting Java 11 despite the 3.9 release notes stating:

Java 17
The language level used for Gerrit source code stays on Java 11, however, Gerrit is built and distributed for Java 17, which is the recommended JVM version for running it in production.

Which I have interpreted as Java 17 being optional?

I ended up reverting the change in deploy/wmf/stable-3.9 and on the deployment server I checked back deploy/wmf/stable-3.8 and redeployed from it. I have eached out to Upstream to clarify https://discord.com/channels/775374026587373568/775374026587373571/1247104042711388190

I interpret

The language level used for Gerrit source code stays on Java 11, however, Gerrit is built and distributed for Java 17, which is the recommended JVM version for running it in production.

as:

Google provides builds that require Java 17. You can continue to use Java 11 for now, but you need to build Gerrit yourself in that case.

(If you’ve already got the same answer on Discord: sorry, I’m not on Discord.)

Couldn’t we just update to Java 17? I know this is not something to figure out within a deployment window, but it’s probably the safest choice to use the same version as Google does. OpenJDK 17 is available in Debian Bullseye and Bookworm.

P.S. I’m eager to use the cool new user-suggested edits feature of Gerrit 3.9. :)

Change #1039610 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/software/gerrit@deploy/wmf/stable-3.9] Gerrit 3.9.5, rebuild plugins and update TypeScript API

https://gerrit.wikimedia.org/r/1039610

Icinga downtime and Alertmanager silence (ID=223c90ba-5f7b-44d5-8c87-8358a481d5e2) set by jelto@cumin1002 for 1:00:00 on 1 host(s) and their services with reason: Gerrit upgrade

gerrit2002.wikimedia.org

Icinga downtime and Alertmanager silence (ID=a4047bc3-8a75-4f46-bcb3-3d1a9938f9cc) set by jelto@cumin1002 for 1:00:00 on 1 host(s) and their services with reason: Gerrit upgrade

gerrit1003.wikimedia.org

Change #1039610 merged by jenkins-bot:

[operations/software/gerrit@deploy/wmf/stable-3.9] Gerrit 3.9.5, rebuild plugins and update TypeScript API

https://gerrit.wikimedia.org/r/1039610

Mentioned in SAL (#wikimedia-releng) [2024-06-12T06:47:55Z] <hashar> gerrit: changed HEAD of operations/software/gerrit from deploy/wmf/stable-3.8 to deploy/wmf/stable-3.9 # T354887