blob: 92c3388c9513940864479fea45b169396ce90e9d [file] [view] [edit]
---
title: "Gerrit User Summit 2026 - Talks"
permalink: /talks.html
page_css: talks
---
# Gerrit User Summit 2026 - Talks
Abstracts of the talks at the Gerrit User Summit 2026, in running order. See the
[schedule]({{ site.baseurl }}/schedule.html) for the full agenda and the
[speakers]({{ site.baseurl }}/speakers.html) page for the people behind them.
<div class="talks-list">
<article class="talk-card" id="whats-new-in-gerrit-v3-15">
<h3 class="talk-title">What&#x27;s new in Gerrit v3.15</h3>
<p class="talk-meta">Monday 9th November, 09:30 AM &middot; <a href="{{ site.baseurl }}/speakers.html#luca-milanesio">Luca Milanesio</a></p>
<div class="talk-abstract" markdown="1">
Gerrit v3.15 contains a lot of interesting additions, this talks presents all
the highlights of the new releases, include the AI improvements and stability
and security fixes.
</div>
</article>
<article class="talk-card" id="improvements-to-the-push-replication-plugin">
<h3 class="talk-title">Improvements to the Push Replication Plugin</h3>
<p class="talk-meta">Monday 9th November, 10:15 AM &middot; <a href="{{ site.baseurl }}/speakers.html#kaushik-lingarkar">Kaushik Lingarkar</a></p>
<div class="talk-abstract" markdown="1">
- Replicating large (>500k refs) repositories often triggers severe latency
bottlenecks when destinations scan all refs to evaluate incoming pushes. By
introducing intelligent ref filtering, the plugin evaluates only a subset of
refs resulting in same data being replicated, but faster!
- Repairs can now fire automatically (or manually via SSH) when replication
encounters missing objects making recovery far less manual than before.
- Single URL failures can no longer break replication. If an endpoint goes down,
replication automatically falls back to secondary URLs using a new RoundRobin
mode which provides automatic failovers and distributes traffic.
</div>
</article>
<article class="talk-card" id="from-cgit-to-gitiles-building-repository-search-for-everyone">
<h3 class="talk-title">From cgit to Gitiles: Building Repository Search for Everyone</h3>
<p class="talk-meta">Monday 9th November, 10:45 AM &middot; <a href="{{ site.baseurl }}/speakers.html#devansh-varshney">Devansh Varshney</a></p>
<div class="talk-abstract" markdown="1">
When LibreOffice contributors shifted from the old cgit Core browser to Gitiles,
they lost search capabilities they had relied on while browsing the repository.
Finding commits or searching repository contents increasingly meant switching
between Gerrit and local Git commands.
This session follows how that practical LibreOffice problem became an upstream
Gitiles contribution. I will cover the incremental path from documenting and
testing existing author and committer filters, through git log --grep support,
to bounded JGit-backed content search with JSON and HTML interfaces.
I will explain the main design decisions, how Gerrit review shaped the
implementation, and how repository traversal is kept manageable for large
projects. The session will include a short demonstration and discuss how this
work can benefit other Gitiles deployments.
<https://gerrit-review.googlesource.com/q/topic:%22gitiles-log-search%22>
</div>
</article>
<article class="talk-card" id="gerrit-zuul-and-openclaw-safe-agentic-coding-via-human-collaboration-tools">
<h3 class="talk-title">Gerrit, Zuul and OpenClaw, Safe Agentic coding via Human Collaboration Tools</h3>
<p class="talk-meta">Monday 9th November, 11:20 AM &middot; <a href="{{ site.baseurl }}/speakers.html#monty-taylor">Monty Taylor</a></p>
<div class="talk-abstract" markdown="1">
OpenClaw isn't normally used side by side with "safe". But it turns out, for the
past 15 years OpenDev has been building tools and processes based on Gerrit and
Zuul to support safe collaboration between thousands of unknown parties. These
tools turn out to be AMAZING at unleashing the potential of systems like
OpenClaw, all you have to do is treat your AI agents like untrusted people. What
could possibly go wrong?
Using work on the WanderTracks project as an example, we'll walk through the
architecture and approach, showing examples of separate long-lived coding and
review agents interacting via the same Gerrit review and Zuul gating system we
use for everyone else. We'll look at the gerrit and zuul plugins for OpenClaw
that allow using code review as a communication channels.
It's not just OpenClaw! Sometimes you want to do the same things with other
Agent harnesses, maybe so you can use your Claude Pro Max subscription. We'll
discuss the new spren.bot service that manages agent identities and exposes them
to gerrit and zuul via authenticated MCP to allow interacting with them from
places like claude.ai safely. Spoiler alert, this works with
https://gerrit-review.googlesource.com/ and gerritforge too.
</div>
</article>
<article class="talk-card" id="multipack-index-in-jgit">
<h3 class="talk-title">Multipack index in JGit</h3>
<p class="talk-meta">Monday 9th November, 01:15 PM &middot; <a href="{{ site.baseurl }}/speakers.html#ivan-frade">Ivan Frade</a></p>
<div class="talk-abstract" markdown="1">
Git introduced few releases ago the multipack index (midx) to maintain
performance as the repacking cost grows. We have been implementing multipack
index in JGit in fits and starts for a while, but only involved developers seem
to know where it stands.
I'll introduce what are midx and geometric repacking and how do we intend to use
them. I'll explain how did we fit midx in the JGit code, what is currently
implemented and how to use it, giving some hints on how development could go
from here.
This could be interesting for jgit/gerrit operators interested in enabling midx
in their installations and for potential contributors looking for reasonably
sized coding opportunities.
</div>
</article>
<article class="talk-card" id="scaling-gerrit-and-jgit-for-the-ai-era-a-cassandra-backed-object-storage-revolution">
<h3 class="talk-title">Scaling Gerrit and JGit for the AI Era: A Cassandra-Backed Object Storage Revolution</h3>
<p class="talk-meta">Monday 9th November, 01:45 PM &middot; <a href="{{ site.baseurl }}/speakers.html#luca-milanesio">Luca Milanesio</a></p>
<div class="talk-abstract" markdown="1">
Over a decade ago at Google, GerritForge demoed a prototype that demonstrated
the immense potential of distributed storage for Git repositories. Today, that
vision becomes a reality. This talk introduces a groundbreaking new JGit storage
backend built on Apache Cassandra, designed to propel Gerrit and all JGit-based
forges firmly into the AI era.
By leveraging JGit's proven multi-storage capabilities, we have architected a
system that decouples repository data to maximise both speed and scale. The
solution utilises Cassandra's flexibility and ultra-fast data transfer rates to
handle BLOBs and Packfiles at unprecedented volumes. For pointer management, it
seamlessly integrates with our battle-tested global-refdb infrastructure to
store Git refs, guaranteeing a highly reliable, multi-primary consistent
environment (HA and Multi-Site).
Join this session to explore how this modernised backend solves the massive data
and scalability demands of modern machine learning and AI workloads, unlocking
the next generation of performance for the Gerrit ecosystem.
</div>
</article>
<article class="talk-card" id="hrts-gerrit-improvements">
<h3 class="talk-title">HRT’s Gerrit Improvements</h3>
<p class="talk-meta">Monday 9th November, 02:30 PM &middot; <a href="{{ site.baseurl }}/speakers.html#kamen-yotov">Kamen Yotov</a></p>
<div class="talk-abstract" markdown="1">
The session will demonstrate HRT's custom enhancements to Gerrit as of the time
of the session. The content will change based on things that happen between now
and then.
As of September 18, 2026\. HRT has extended Gerrit across the review UI, CLI,
CI, ownership, metadata, and developer tooling to support migration from
Phabricator.
**Delivered**
* **Review UI:** Stijl, a React frontend with PolyGerrit fallback, adds
configurable dashboards, stack visualization, file navigation,
comments/suggestions, and integrated checks. Core patches add sticky actions,
full-width/auto-expanded diffs, Markdown, syntax highlighting, moved-code
detection, Phabricator colors, and review safeguards.
* **Review rules:** Group reviewers/subscribers, Code Owners views and
auto-assignment, plus deployed blocking-reviewer APIs, submit requirements,
and UI support.
* **CLI:** Rust-based gr succeeds cr with arc-compatible
diff/land/patch/work/lint workflows, squashed or per-commit uploads, stacked
branches, reviewer integration, and paste support.
* **CI:** Gerrkins replaces key Herald/Harbormaster workflows with event-driven
Jenkins jobs, persistent checks, inline lint, patchset reporting, and multiple
Jenkins backends. BAT Queue runs directly from Gerrit and Stijl.
* **Integrations:** Jira, Git-notes APIs, Sourcegraph, custom menus/checker
configuration, and Pastes uploads/attachments. Gerrbot is released.
* **Platform:** Production adoption across DevX and Systems, Phabricator
coexistence, faster mirror/ref synchronization, internal build/deployment
pipelines, UI CI checks, and the Gerrit 3.14 upgrade with HRT patches
preserved.
**Ongoing**
Gerald’s modular rules engine has a limited cutover; broader Herald-rule
migration continues. VS Code review is implemented, with v0 rollout and
AI-context integration pending. Other work includes explicit group approvals,
muting, auto-submit/auto-queue, release-cadence integration, server-side Jira
extraction, and production HA. A unified configuration dashboard is proposed.
</div>
</article>
<article class="talk-card" id="do-i-have-to-approve-this-again-sticky-owners-in-gerrit">
<h3 class="talk-title">Do I Have to approve this Again!? Sticky Owners in Gerrit</h3>
<p class="talk-meta">Monday 9th November, 03:40 PM &middot; <a href="{{ site.baseurl }}/speakers.html#antonio-barone">Antonio Barone</a></p>
<div class="talk-abstract" markdown="1">
An owner’s approval should not become meaningless just because a new patch set
arrives. But when does keeping that approval save reviewers from needless
repetition, and when does it leave a gap in the ownership policy?
This session is about Sticky Owners: making ownership-based review less
mechanical without weakening the checks that matter.
We'll look at the real questions behind approvals that survive across patch sets
and the trade-offs involved in this feature.
If you run OWNERS rules and are tired of asking people to re-approve work they
have already reviewed, this should give you practical ideas you can take back to
your own Gerrit setup.
</div>
</article>
<article class="talk-card" id="task-quotas-in-the-age-of-ai">
<h3 class="talk-title">Task Quotas in the age of AI</h3>
<p class="talk-meta">Monday 9th November, 04:10 PM &middot; <a href="{{ site.baseurl }}/speakers.html#adithya-chakilam">Adithya Chakilam</a></p>
<div class="talk-abstract" markdown="1">
Two years ago, the quota plugin was mostly about static namespace limits —
capping how many projects or how much disk space a team could use. Today it's
evolved into a full admission-control system for Gerrit's task queues, built in
direct response to a new kind of load: AI coding agents, CI bots, and automation
tools (like repo sync -j64) that don't behave like a human clicking around a UI.
They fire concurrent, bursty, high-volume requests that can starve interactive
users and even take down a Gerrit instance.
This is as much a case study in incremental, incident-driven system design as it
is a feature tour — a small Gerrit plugin quietly becoming critical
infrastructure as automated/AI-driven traffic became the dominant load pattern
on the server.
</div>
</article>
<article class="talk-card" id="large-object-promisors-handling-large-files-natively-in-git">
<h3 class="talk-title">Large Object Promisors: handling large files natively in Git</h3>
<p class="talk-meta">Monday 9th November, 04:40 PM &middot; <a href="{{ site.baseurl }}/speakers.html#christian-couder">Christian Couder</a></p>
<div class="talk-abstract" markdown="1">
Large binary files are a long-standing pain point for Git hosting. Git LFS
helps, but it's a separate tool outside Git, with its own configuration and
pitfalls. Over the last few years, upstream Git has gained native building
blocks for a different approach: Large Object Promisors. This talk explains how
it works and how to use it in practice.
</div>
</article>
<article class="talk-card" id="version-control-and-code-formatting">
<h3 class="talk-title">Version control and code formatting</h3>
<p class="talk-meta">Tuesday 10th November, 09:45 AM &middot; <a href="{{ site.baseurl }}/speakers.html#danny-hooper">Danny Hooper</a></p>
<div class="talk-abstract" markdown="1">
There are many approaches to managing indentation and such in a code base over
time. How can a version control system help?
</div>
</article>
<article class="talk-card" id="where-does-your-metadata-live">
<h3 class="talk-title">Where does your metadata live?</h3>
<p class="talk-meta">Tuesday 10th November, 10:15 AM &middot; <a href="{{ site.baseurl }}/speakers.html#patrick-hiesel">Patrick Hiesel</a></p>
<div class="talk-abstract" markdown="1">
Code review comments, approvals, repo permissions and now agent trajectories and
provenance data. All relate to source code and have to be stored somewhere.
Ten years ago, the Gerrit contributors invented NoteDb and pioneered storing
metadata alongside source code offering atomic updates, a free audit log as well
as easier backup and sync options.
With the SDLC shifting from from human-first to agent-first, new use cases for
storing code related metadata have emerged: Provenance and trajectories are just
two of many.
In this talk, we’ll go over options that are available today, problems we are
thinking about at Google and what lessons we can learn from past design
decisions as we evolve our metadata storages.
</div>
</article>
<article class="talk-card" id="bridging-the-gap-adding-native-jj-support-to-a-git-based-scm">
<h3 class="talk-title">Bridging the Gap: Adding native JJ support to a Git-based SCM</h3>
<p class="talk-meta">Tuesday 10th November, 11:00 AM &middot; <a href="{{ site.baseurl }}/speakers.html#daniele-sassoli">Daniele Sassoli</a>, <a href="{{ site.baseurl }}/speakers.html#emily-shaffer">Emily Shaffer</a></p>
<div class="talk-abstract" markdown="1">
In this talk, we'll walk through the philosophy behind JJ, why it works the way
it does and the core concepts behind it, we'll also walk through what it
actually took to add native support for JJ change-id headers to Gerrit Code
Review. We'll look at the architectural considerations a modern, Git-based SCM
faces when adopting JJ, and how to ensure that JJ and Git users can collaborate
seamlessly without stepping on each other's toes.
Gerrit makes for a great testing ground since it already embraces the patch-set
workflow that JJ naturally enables. Even so, bridging the two systems threw some
interesting design challenges our way. I'll share the practical pitfalls we hit
and the lessons we learned while making sure we didn't cause regressions for
either user base.
</div>
</article>
<article class="talk-card" id="cloud-jj-open-source-commit-cloud-for-jj">
<h3 class="talk-title">cloud-jj: Open-Source Commit Cloud for jj</h3>
<p class="talk-meta">Tuesday 10th November, 11:30 AM &middot; <a href="{{ site.baseurl }}/speakers.html#daniel-sperry">Daniel Sperry</a></p>
<div class="talk-abstract" markdown="1">
cloud-jj will bring Google's cloud-backed Commit Cloud server architecture to
open source under the Apache 2.0 license. We are planning to develop cloud-jj in
public repositories and deliver usable open-source versions by Q3 2027,
providing a self-managed Commit Cloud backed by Google Cloud Spanner and Google
Cloud Storage that organizations can deploy to handle large repositories,
multi-gigabyte binary files, globally distributed teams, and high-concurrency
agent workloads.
This talk covers the architecture, components, migration paths, and open-source
roadmap of cloud-jj:
- jj Commit Cloud Server: Storing transactional commit graph metadata in Cloud
Spanner and bulk content-addressed file and chunk storage in Google Cloud
Storage, paired with pluggable authentication, authorization, and
per-directory access controls.
- Early and Independent Replication: Streaming modified file contents and tree
objects from the workspace to cloud storage in the background before commits
are finalized or sent for review, minimizing cross-region replication delays
and enabling roaming workspaces across machines.
- Integration and Migration Paths (Native, jj-on-Git, and jj-on-Perforce): Using
Commit Cloud exclusively for new projects, or running Commit Cloud on top of
existing Git, Gerrit, or Perforce repositories via continuous Git and Perforce
indexers that mirror repository history into Commit Cloud with 1:1 Git hash
compatibility and push changes back for code review and submission.
- Cross-Platform Virtual File System (jj-vfs): As part of the full cloud-jj
stack, mounting writable workspaces in under 200ms across Linux (FUSE3
passthrough), macOS (user-space NFSv4 via Fuse-T), and Windows (ProjFS) to
fetch files lazily on demand from Commit Cloud and the local daemon without
waiting for large downloads.
</div>
</article>
<article class="talk-card" id="ai-development-at-scale-with-gerrit-and-zuul">
<h3 class="talk-title">AI Development at Scale with Gerrit and Zuul</h3>
<p class="talk-meta">Tuesday 10th November, 01:00 PM &middot; <a href="{{ site.baseurl }}/speakers.html#luca-milanesio">Luca Milanesio</a>, <a href="{{ site.baseurl }}/speakers.html#james-blair">James Blair</a></p>
<div class="talk-abstract" markdown="1">
The AI revolutionised the way we write software and introduced a new level of
workload to the existing CI/CD infrastructure.
The bottleneck is the infrastructure that was built in the past 10 years: how do
we ensure that it is able to scale at the same AI pace?
Luca and Jim presents a well-test combination of Gerrit Code Review and Zuul for
providing an unprecedented level of scalability and performance that can make
your CI/CD infrastructure resilient to the spikes generated by AI agents on a
24/7 basis.
</div>
</article>
<article class="talk-card" id="pimp-your-gerrit-upgrade-tune-measure-and-repeat">
<h3 class="talk-title">Pimp Your Gerrit: Upgrade, Tune, Measure and repeat</h3>
<p class="talk-meta">Tuesday 10th November, 01:45 PM &middot; <a href="{{ site.baseurl }}/speakers.html#fabio-ponciroli">Fabio Ponciroli</a></p>
<div class="talk-abstract" markdown="1">
Gerrit performance is not one magic setting. It is the combined effect of
version upgrades, hardware choices, plugins, and operational discipline.
This talk presents a practical performance playbook for Gerrit administrators.
We will look at what changes when upgrading to Gerrit 3.14.
We will also walk through real tuning examples, including the impact of moving
Gerrit workloads from Intel to ARM hardware.
The plugin section focuses on practical tools: Cached RefDB to speed up ref
access, git-refs-filter to reduce expensive ref advertisement, and Prometheus
metrics to prove whether the changes actually helped.
Attendees will leave with a checklist for making Gerrit faster, measuring the
result, and avoiding performance tuning by "gut feeling".
</div>
</article>
<article class="talk-card" id="ghs-sustaining-git-performance-under-production-workloads">
<h3 class="talk-title">GHS: Sustaining Git Performance Under Production Workloads</h3>
<p class="talk-meta">Tuesday 10th November, 02:35 PM &middot; <a href="{{ site.baseurl }}/speakers.html#shane-mcintosh">Shane McIntosh</a></p>
<div class="talk-abstract" markdown="1">
Although decentralized Version Control Systems (VCSs) like Git support several
organizational structures, a central copy of the repository is typically where
development activity is coalesced and where official software releases are cut.
Popular practices like AI-accelerated and trunk-based development strain central
repositories. Remedial actions, such as performing garbage collection routines,
can backfire because they are computationally expensive and if run at an
inopportune moment, may degrade repository performance or cause the host to
crash.
In this talk, we propose GHS---an automated approach that can take remedial
actions to sustain VCS performance. We compare the performance that a VCS can
sustain when GHS is applied against a schedule-based garbage collection policy
and a no-action baseline. For example, we observe that GHS leads to 64 to
82-fold improvements in the Area Under the Curve (AUC) that plots repository
performance over time.
</div>
</article>
<article class="talk-card" id="how-to-stack-changes-like-a-pro">
<h3 class="talk-title">How to Stack Changes like a Pro</h3>
<p class="talk-meta">Tuesday 10th November, 03:05 PM &middot; <a href="{{ site.baseurl }}/speakers.html#jacek-centkowski">Jacek Centkowski</a></p>
<div class="talk-abstract" markdown="1">
Last year the message was: focus the diff. Small, single-concern changes get
better, faster reviews. In the meantime coding agents became the industry
standard - and they produce Mega-PRs faster than anyone can review them. The
GitHub world is catching up: stacked diffs at Meta, Graphite, Sapling, now
GitHub's own stacked pull requests. Gerrit shipped this model years ago: one
concern per change, chained for review. What's missing is the agent part. Agent
Skills already teach Claude Code and Codex to plan atomic steps, budget diff
size, split branches. All of them PR-shaped. None of them speaks Change-Id. This
talk surveys what they converge on, then proposes gerrit-stack: a skill that
makes relation chains the agent's default. Not a cleanup after the fact - the
default. Sequel to How to do Code Review like a Pro
(https://www.youtube.com/watch?v=7pcb1p3hTtg&t=42s)
</div>
</article>
<article class="talk-card" id="q-a-with-the-maintainers">
<h3 class="talk-title">Q&amp;A with the maintainers</h3>
<p class="talk-meta">Tuesday 10th November, 03:20 PM</p>
<div class="talk-abstract" markdown="1">
Join us for what has become a staple session of the Gerrit User Summit where the
maintainers will take questions from the audience! Nothing is off the table,
anything from the why a certain features works in a certain way, to where the
project is heading next are valid topics!
The maintainers joining in person:
- [Adithya Chakilam]({{ site.baseurl }}/speakers.html#adithya-chakilam)
- [Antonio Barone]({{ site.baseurl }}/speakers.html#antonio-barone)
- [Fabio Ponciroli]({{ site.baseurl }}/speakers.html#fabio-ponciroli)
- [Jacek Centkowski]({{ site.baseurl }}/speakers.html#jacek-centkowski)
- [Kaushik Lingarkar]({{ site.baseurl }}/speakers.html#kaushik-lingarkar)
- Laura Hamelin-Owens
- [Luca Milanesio]({{ site.baseurl }}/speakers.html#luca-milanesio)
- Martin Fick
- Nasser Grainawi
- [Patrick Hiesel]({{ site.baseurl }}/speakers.html#patrick-hiesel)
</div>
</article>
</div>