Successfully reported this slideshow.
Your SlideShare is downloading. ×

What's new in Gerrit Code Review v3.1 and beyond

Ad

0
Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 0
What’s new in Gerrit 3.1
… and beyond
Luca Mi...

Ad

1
Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 1
About GerritForge
Founded in
the UK
HQ in
Lon...

Ad

2
Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 2
Gerrit v3.1 in numbers
Source: analytics.gerr...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 18 Ad
1 of 18 Ad

What's new in Gerrit Code Review v3.1 and beyond

Download to read offline

Gerrit 3.1 has been released as part of the Gerrit Hackathon 2019 in Sunnyvale CA. See what has been introduced in the new release and how to migrate.

Gerrit 3.1 has been released as part of the Gerrit Hackathon 2019 in Sunnyvale CA. See what has been introduced in the new release and how to migrate.

Advertisement
Advertisement

More Related Content

Slideshows for you (19)

More from Luca Milanesio (20)

Advertisement

What's new in Gerrit Code Review v3.1 and beyond

  1. 1. 0 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 0 What’s new in Gerrit 3.1 … and beyond Luca Milanesio Gerrit Code Review Maintainer GerritForge
  2. 2. 1 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 1 About GerritForge Founded in the UK HQ in London Committed to OpenSource + Sunnyvale CA
  3. 3. 2 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 2 Gerrit v3.1 in numbers Source: analytics.gerrithub.io
  4. 4. 3 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 3 Migration path to v3.1 • v2.14 / ReviewDb • v2.15 / ReviewDb • v2.16 / ReviewDb • v2.16 / NoteDb •v3.0 •V3.1 https://www.workeastren.co.uk/case-studies/paul-steps-to-success-case-study/
  5. 5. 4 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 4 New non-core plugins Checks (Native CI integration, yeah!) Multi-site (!!!) Pull-replication Zookeeper (global ref consistency)
  6. 6. 5 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 5 What’s new in v3.1 Polymer 2.0 and shadow DOM Git Protocol v2 (secured) Performance improvement and logging Stability and Fixes More CI integration (checks plugin)
  7. 7. 6 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 6 Git protocol v2 From https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html • Server-side filtering of references • Easy extensibility for new features
  8. 8. 7 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 7 Git protocol v2: server-side filtering From https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html • Previously: servers responded to all fetch commands with an initial reference advertisement, listing all references in the repository. • Sent even when a client only cares about updating a single branch • Chromium repository (over 500k refs): the server is sending 10s of megabytes of data that get ignored. • Projects have seen a performance improvement of 3x for no-op fetches of a single branch on repositories containing 500k references.
  9. 9. 8 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 8 Git protocol v2: done in 3 attempts See https://groups.google.com/d/topic/repo-discuss/nEkvNVCZzNM/discussion • v2.16 and v3.0 reverted attempted, because of security vulnerability issues • Patrick (Google) created PermissionAwareRefDatabase, permission aware repository abstraction, that will only ever return refs that the user has access to. • Then Stefano (GerritForge) took over this change and fixed some problems • Adjustments in JGit, Thanks for review to Matthias (SAP) • The whole series in Gerrit was reviewed by Han Wen (Google), Thanks!
  10. 10. 9 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 9 Git protocol v2: how we tested it In context of the third attempt to enable Git wire protocol v2 in Gerrit: • Start the whole nine yard Gerrit server using StandaloneSiteTest base class • Retrieve both SSH and HTTP ports assigned during server start • Configure SSH private/public keys for SSH access and upload them to Gerrit using plugin API • Configure HTTP passwords for test users using Gerrit plugin API • Access Gerrit server with git-core client using Java's ProcessBuilder facility
  11. 11. 10 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 10 Git protocol v2: how to enable it In context of the third attempt to enable Git wire protocol v2 in Gerrit: <gerrit-site>/etc/jgit.config [protocol] version = 2 * Verify that recent Git client is installed (v2.18 or later): $ git --version git version 2.23.0 * Activate protocol.version 2 in ~/.gitconfig * Demo Git protocol v2: $ GIT_TRACE_PACKET=1 git ls-remote https://review.gerrithub.io/GerritCodeReview/bazlets 07:59:25.849401 pkt-line.c:80 packet: git< version 2
  12. 12. 11 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 11 Breaking changes in v3.1 Push to refs/drafts/* removed Push to refs/changes/* removed
  13. 13. 12 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 12 Breaking changes in v3.1 JGit config read from $GERRIT_SITE/etc/jgit.config (bye bye ~/.gitconfig)
  14. 14. 13 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 13 Roadmap to Gerrit v3.2 and beyond • Pluggable authentication backends • Group deletion • Polymer 3 • Introduction of the ”attention set” instead of assignee • Robot comments • Support for apply/fix feature
  15. 15. 14 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 14 Roadmap to Gerrit v3.2 and beyond • Performance improvements • Git push performance • PolyGerrit UI latency • Gerrit caches with caffeine • Repos with large number of refs (experimental: reftable) • Faster persistent cache than H2 • Support for large mono-repos • Support for Java 11 • Better GC algorithm: ZGC • Support for very large heaps (up to TBytes of memory)
  16. 16. 15 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 15 Roadmap to Gerrit v3.2 plugins • Replication plugin • Multi-master support • External replication queue • Checks plugin • Support for sub-checks • Override status • High-availability plugin • Integration with global ref-db • Multiple concurrent writes on all nodes
  17. 17. 16 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 16 Q&A: excited about the future of Gerrit? Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
  18. 18. 17 Gerrit User Summit 2019 – GerritForge Inc – Sunnyvale CA GerritForge.com 17 Wants to know more? GerritForge.com/contact

×