---
title: "Gerrit ESC Meeting Minutes"
tags: esc
keywords: esc minutes
permalink: 2022-01-12-esc-minutes.html
summary: "Minutes from the ESC meeting held on Jan 12, 2022"
hide_sidebar: true
hide_navtoggle: true
toc: true
---

## Engineering Steering Committee Meeting, Jan 12, 2022

Christophe Poucet, Han-Wen Nienhuys, Luca Milanesio, Matthias Sohn,
Patrick Hiesel, Saša Živkov.

### Next meeting

Feb 2, 2022

## Minutes

## Proposal to drop Log4J completely and use java.util.logging

Google does not use Log4J, and Gerrit does not require it directly because it is
based on Flogger. Can we drop Log4J altogether in Gerrit?

After an initial analysis, it looks like some of the components that Gerrit uses
(e.g., Apache Mina SSHD) still refer to Log4J directly; therefore, removing it
won't be trivial.

Matthias pointed out that the reload4j project (https://reload4j.qos.ch/) has
fixed the vulnerabilities found on Log4J 1.x and made the fork available to the
community with the same Open-Source license.

The removal of Log4J is put on hold, waiting to see if the reload4j project may
work in the meantime.

## Definition of a policy for updating JGit on stable Gerrit branches

Gerrit and JGit have different release schedules: twice a year for Gerrit, four
times a year for JGit. Also, there is reluctance in updating JGit pointer in
Gerrit stable not-EOL branches because of the fear of potential regressions.
The two factors have contributed to the accumulation of lag in the alignment of
the latest JGit version in Gerrit. For example, both Gerrit v3.4 and v3.5 use
JGit v5.12, six months behind the latest.

The consensus is to define a policy for updating JGit pointer on a regular basis
as follows: Gerrit/master updates its submodule to JGit/master regularly. After
two weeks of tests by Google (using the JGit fork) and GerritForge (using the
JGit vanilla), the update is performed on the non-EOL stable branches, assuming
that there are no breaking JGit API changes. Stable branches that are in EOL
will not have any regular JGit updates

## Delay in Gerrit releases due to the review of release notes

The Gerrit release notes are created and reviewed too late in the process,
causing potential delays and potential mistakes and gaps in the initial Gerrit
versions. Ideally, updating the release notes should be part of the review
process of the changes that are modifying or creating new functionalities,
rather than a one-off task for the release manager.

We had the idea of implementing the mechanism of validating the presence of
release notes in the submit rules; however, that did not take off. Patrick
takes the task of assessing a similar check by using the new submit
requirements available in Gerrit master.

## Proposal to drop Java-8 support for stable-3.3/3.4

Gerrit v3.3.* and v3.4.* are distributed only for Java 11; however, during their
development SAP and Google needed to preserve the source-code compatibility to
Java 8 for being able to upgrade and deploy to their respective Java 8-based
setup. Nowadays, SAP and Google are on Java 11; therefore, there is no need
anymore to keep source-code level compatibility with Java 8.

The consensus is to drop Java 8 source compatibility for stable-3.3/3.4 to
switch the whole Gerrit CI/CD pipeline to Java 11, avoiding complicated
if/then/else in the build scripts.

Luca has created [a small survey](https://www.surveymonkey.co.uk/r/8CQ5BH7)
for asking the community which Java version is used with Gerrit v3.3/v3.4.
Once the results are available, the project can make a final decision on the
matter.

## Proposal to define a trusted group of contributors for running CI builds

Currently, any incoming Gerrit change triggers a CI build, posing security risks
because the execution happens *before* any review or validation by
contributors. Both the Jenkins-based pipeline
(https://gerrit-ci.gerritforge.com) and the Zuul pipeline
(https://ci.gerritcodereview.com) are impacted but with different security
issues.

The use of RBE for the build execution would not mitigate the security issue,
because some of the build steps have to be executed on the agents anyway
(e.g., PolyGerrit tests).

The possible options are introducing further isolation layers
(e.g., https://gvisor.dev/docs/) or using a service such as Google Cloud Build.
Han-Wen will explore this second option.
