We currently use Gerrit 3.4.4. This task is to upgrade to 3.5.x series.
Release notes https://www.gerritcodereview.com/3.5.html
Some sites experienced an increase in heap usage / GC cost. Mentioned by Sven on the repo-discuss list. It is apparently due to some tracing added to the change queries. Seems that can be worked around by setting tracing.performanceLogging to false
GerritHub.io incident report: https://docs.google.com/document/d/1BcDhsWZfxwtujwyJwDAkLxMDvf1pAnS_I0pwJOnNSms/edit#heading=h.z4mrbzle14w0
It may or may not be a problem. We use 20G on average out of 32G.
Release highlights
The few @hashar has noticed:
Case-insensitive usernames
Users can login with mixed case usernames without the risk to create duplicate accounts.
The change affects the following external ids:
- gerrit (LDAP)
- username (login, authenticated REST and git endpoints)
For a new Gerrit setup, usernames are case insensitive by default, while for existing installations the Gerrit admin can switch the functionality on/off using the auth.userNameCaseInsensitive setting in gerrit.config.
It defaults to false for existing installation so that should be a noop for us. We will probably to do the migration once we understand the implications.
Request cancellation and execution deadlines
*Limit the maximal execution time for requests on the server side via deadline config*
Performance improvements on the change screen
A new approvals cache.
The new change.conflictsPredicateEnabled setting in gerrit.config disables the computation of the conflicts section avoiding a computation of complexity of O(nˆ2), where n is the number of open changes for the project the change belongs to. When set to false the GUI will leave the conflict changes section on change screen empty.
Default is true so we will keep the conflicting changes listed
Important notes
Support for Java 8 dropped
*We run Gerrit under Java 11 since T268225*
Schema and index changes
Schema and index changes
This release doesn’t contain schema changes.
The changes index version has been increased to version 71. By default the index is automatically rebuilt upon the Gerrit startup after the upgrade.
To run offline reindexing of the changes (optional when upgrading from v3.3.x or later):
java -jar gerrit.war reindex --index changes -d site_path
copy-approvals
From 3.5.2: The execution of the copy-approvals SSH command (online) or the java -jar gerrit.war copy-approval site command (offline) may take a long time to complete due to the full scanning of all projects.
*This can be done after the 3.5 upgrade but must be done before the 3.6 one*