SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
0Virtual Gerrit User Summit 2020 – On-line GerritForge.com 0
What’s new in Gerrit 3.2/3.3
Luca Milanesio
Gerrit Code Review Maintainer
GerritForge
1Virtual Gerrit User Summit 2020 – On-line GerritForge.com 1
About GerritForge
Founded in
the UK
HQ in London with
presence in Europe and
the USA (GerritForge Inc.)
Committed to
OpenSource
and to Gerrit
Code Review
since 2009
2Virtual Gerrit User Summit 2020 – On-line GerritForge.com 2
Gerrit v3.2 in numbers
Source: analytics.gerrithub.io
3Virtual Gerrit User Summit 2020 – On-line GerritForge.com 3
Gerrit v3.3 in numbers
Source: analytics.gerrithub.io
4Virtual Gerrit User Summit 2020 – On-line GerritForge.com 4
Gerrit v3.2/v3.3 vs. previous releases
5Virtual Gerrit User Summit 2020 – On-line GerritForge.com 5
Gerrit 3.2: Java 11
Gerrit officially supported on Java 11 runtime
• Both Java 8 and Java 11 support
• gerrit.war and plugin API distributed on Java 8 bytecode
• This is the last Gerrit distributed for Java 8
Stats of the first 3 months of adoption of Gerrit v3.2
(source: gerrit-ci.gerritforge.com):
72% on Java 11 / 38% on Java 8
6Virtual Gerrit User Summit 2020 – On-line GerritForge.com 6
Gerrit 3.3: Java 11
Gerrit officially distributed for Java 11
• gerrit.war and plugin API distributed on Java 11 bytecode
• Does NOT work out-of-the-box for Java 8 (needs rebuild)
• Incoming changes on stable-3.3 and master: validated for Java 8
• Gerrit plugins have to target Java 11
(Gerrit plugin API distributed on Java 8 only)
7Virtual Gerrit User Summit 2020 – On-line GerritForge.com 7
Gerrit 3.2: Performance
Shawn (RIP) always said:
“performance is a feature, and a very important one”
Mergeability computation behavior
• NEVER
No mergeability flag computation
• REF_UPDATED_AND_CHANGE_REINDEX
(is:mergeable)
• API_REF_UPDATED_AND_CHANGE_REINDEX
(is:mergeable and mergeable in ChangeInfo)
FASTER
SLOWER
8Virtual Gerrit User Summit 2020 – On-line GerritForge.com 8
Gerrit 3.2: Performance
New accounts cache
• External IDs + user name (cached in
ExternalIdCache)
• CachedAccountDetails (newly cached)
• Gerrit’s default settings CachedAccountDetails
(with account-id sharding)
9Virtual Gerrit User Summit 2020 – On-line GerritForge.com 9
Gerrit 3.2: Performance
New external groups cache
• groups_external
Caches all the external groups available to Gerrit
• groups_external_persisted
Caches all external groups available to Gerrit at some
point in history
10Virtual Gerrit User Summit 2020 – On-line GerritForge.com 10
Gerrit 3.2: InstanceId
Optional config for HA and Multi-Site setup
• ServerId <> InstanceId
• Background: why do you need it?
• Use-cases
• Troubleshooting of events across the cluster
• Avoiding double-notifications (e.g. Jira plugin)
• Avoid loops of events (e.g. HA)
Contributed by GerritForge
11Virtual Gerrit User Summit 2020 – On-line GerritForge.com 11
Gerrit 3.2: zero-downtime upgrade
Allow upgrading from v3.1.6+ without downtime
• Requires HA setup with shared repositories
• Flagged as “experimental”
• Successfully test on GerritHub.io upgrade
Contributed by GerritForge
12Virtual Gerrit User Summit 2020 – On-line GerritForge.com 12
Gerrit 3.2: PolyGerrit Polymer 3
Major milestone in front-end modernization
UI improvements
• cherry pick entire topics
• display names (first name or username as default)
• show the entire comment thread in reply dialog
• “Start Review” button added to change view
• in-product reminder to keep discussions respectful
• “Edit” button to the diff view
• editing the commit message as part of a change edit
13Virtual Gerrit User Summit 2020 – On-line GerritForge.com 13
Gerrit 3.2: Permissions
New Revert permission
allow/deny the ability to revert a change through the Gerrit
UI.
The permission is automatically added to the
Registered Users as part of the schema upgradet
14Virtual Gerrit User Summit 2020 – On-line GerritForge.com 14
Gerrit 3.2: PolyGerrit File uploads
Contributed by Wikimedia
15Virtual Gerrit User Summit 2020 – On-line GerritForge.com 15
Gerrit 3.2: is:merge
new is:merge operator for allowing to find changes
that are merge commits.
NOTE: Requires a full reindex of the changes, which may take
quite a long time to compute for large-sized installations.
Contributed by SAP
16Virtual Gerrit User Summit 2020 – On-line GerritForge.com 16
Gerrit 3.2: SSH commands
gerrit set-topic:
set the topic of a change (existing REST-API surfaced via SSH)
gerrit sequence show:
show the current sequences value from All-Projects.git or All-Users.git
gerrit sequence set:
set the next value for sequences in All-Projects.git or All-Users.git
17Virtual Gerrit User Summit 2020 – On-line GerritForge.com 17
Gerrit 3.2: E2E tests
Gerrit source code now has /e2e-tests
• Based on GerritForge’s Gatling-Git plugin
• Framework for plugins’ E2E testing
• Real Gerrit setup with simulations of:
• Gerrit repositories and test-case setups
• REST-API interactions
• Git protocol interactions
Contributed by Ericsson
18Virtual Gerrit User Summit 2020 – On-line GerritForge.com 18
Gerrit 3.2: Native Packages updates
• RPMs for RedHat & CentOS 8.1
• Debs for Debian & Ubuntu 20.04
• Docker image: Java upgraded to OpenJDK 11
• Support for AWS with aws-gerrit
Contributed by GerritForge
19Virtual Gerrit User Summit 2020 – On-line GerritForge.com 19
Gerrit 3.3: Attention-set
Thanks to Ben + UX, PolyGerrit and Backend Teams !!
NOTE: It is enabled by default
20Virtual Gerrit User Summit 2020 – On-line GerritForge.com 20
Gerrit 3.3: Replication improvements
Stabilization of the replication tasks storage + fixes
• Ability to push changes to replicas
• Manage exceptions and NFS quirks for replication tasks storage
• Do not wait for pending replication events on startup
• Multi-server clustering replication (still experimental)
Contributed by Qualcomm
21Virtual Gerrit User Summit 2020 – On-line GerritForge.com 21
Gerrit 3.3: Native Packages updates
RPMs for RedHat & CentOS 8.2
22Virtual Gerrit User Summit 2020 – On-line GerritForge.com 22
Gerrit 3.0 and 2.16: EOL
Gerrit 3.0.x is EOL according to the support policy [1]
Gerrit 2.16 is EOL with exceptions:
receives updates for NoteDb migration, see v2.16.23:
• Huge performance improvement for large repos
• new option --force-state-change-with-skip in the NoteDb
• Fix contention on single database connection
• Update noteDb status in chunks
• Use multiple threads per project for improving the performance
[1] https://www.gerritcodereview.com/support.html
23Virtual Gerrit User Summit 2020 – On-line GerritForge.com 23
Q&A: excited about the future of Gerrit?
Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
24Virtual Gerrit User Summit 2020 – On-line GerritForge.com 24
Wants to know more?
GerritForge.com/contact

Contenu connexe

Tendances

What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020Noa Harel
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14msohn
 
GitLab as an Alternative Development Platform for Github.com
GitLab as an Alternative Development Platform for Github.comGitLab as an Alternative Development Platform for Github.com
GitLab as an Alternative Development Platform for Github.comB1 Systems GmbH
 
Using Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordUsing Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordMarc Karasek
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Git strategies for DevOps
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOpsAhmad Iqbal Ali
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review AnalyticsLuca Milanesio
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturasparkfabrik
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)Pedro Moreira da Silva
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOpsBrice Fernandes
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOpsNicola Baldi
 
What's New in GitLab and Software Development Trends
What's New in GitLab and Software Development TrendsWhat's New in GitLab and Software Development Trends
What's New in GitLab and Software Development TrendsNoa Harel
 
You shall not pass - Control your code quality gates with a wizard.
You shall not pass - Control your code quality gates with a wizard.You shall not pass - Control your code quality gates with a wizard.
You shall not pass - Control your code quality gates with a wizard.Eryk Szymanski
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, futureLuca Milanesio
 
Bringing Pull Request to Gerrit
Bringing Pull Request to GerritBringing Pull Request to Gerrit
Bringing Pull Request to GerritEryk Szymanski
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryLuca Milanesio
 

Tendances (20)

What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
 
GitLab as an Alternative Development Platform for Github.com
GitLab as an Alternative Development Platform for Github.comGitLab as an Alternative Development Platform for Github.com
GitLab as an Alternative Development Platform for Github.com
 
Using Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordUsing Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review Processord
 
GitOps with Gitkube
GitOps with GitkubeGitOps with Gitkube
GitOps with Gitkube
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Git strategies for DevOps
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOps
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review Analytics
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOps
 
What's New in GitLab and Software Development Trends
What's New in GitLab and Software Development TrendsWhat's New in GitLab and Software Development Trends
What's New in GitLab and Software Development Trends
 
You shall not pass - Control your code quality gates with a wizard.
You shall not pass - Control your code quality gates with a wizard.You shall not pass - Control your code quality gates with a wizard.
You shall not pass - Control your code quality gates with a wizard.
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, future
 
Bringing Pull Request to Gerrit
Bringing Pull Request to GerritBringing Pull Request to Gerrit
Bringing Pull Request to Gerrit
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-delivery
 

Similaire à Gerrit Code Review v3.2 and v3.3

What's new in Gerrit Code Review v3.1 and beyond
What's new in Gerrit Code Review v3.1 and beyondWhat's new in Gerrit Code Review v3.1 and beyond
What's new in Gerrit Code Review v3.1 and beyondLuca Milanesio
 
ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3Luca Milanesio
 
git github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxgit github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxAbelPhilipJoseph
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForgeCollabNet
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02Gourav Varma
 
Presentation on Repository Control System
Presentation on Repository Control SystemPresentation on Repository Control System
Presentation on Repository Control SystemMd. Mujahid Islam
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Joel W. King
 
Version control git day03(amarnath dada)
Version control   git day03(amarnath dada)Version control   git day03(amarnath dada)
Version control git day03(amarnath dada)Gourav Varma
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03Gourav Varma
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeLuca Milanesio
 
Git And Git Hub.pptx
Git And Git Hub.pptxGit And Git Hub.pptx
Git And Git Hub.pptxMishalBibi
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_finalMythri P K
 
GerritHub a true Gerrit migration story to v2.15
GerritHub a true Gerrit migration story to v2.15GerritHub a true Gerrit migration story to v2.15
GerritHub a true Gerrit migration story to v2.15Luca Milanesio
 
Data science Git management
Data science Git managementData science Git management
Data science Git managementArindam Banerjee
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
Gerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerGerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerLuca Milanesio
 

Similaire à Gerrit Code Review v3.2 and v3.3 (20)

What's new in Gerrit Code Review v3.1 and beyond
What's new in Gerrit Code Review v3.1 and beyondWhat's new in Gerrit Code Review v3.1 and beyond
What's new in Gerrit Code Review v3.1 and beyond
 
ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3
 
git github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxgit github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptx
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForge
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
 
Presentation on Repository Control System
Presentation on Repository Control SystemPresentation on Repository Control System
Presentation on Repository Control System
 
Using Qt under LGPLv3
Using Qt under LGPLv3Using Qt under LGPLv3
Using Qt under LGPLv3
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
 
Version control git day03(amarnath dada)
Version control   git day03(amarnath dada)Version control   git day03(amarnath dada)
Version control git day03(amarnath dada)
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source code
 
Gerrit tutorial
Gerrit tutorialGerrit tutorial
Gerrit tutorial
 
Git And Git Hub.pptx
Git And Git Hub.pptxGit And Git Hub.pptx
Git And Git Hub.pptx
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
 
GerritHub a true Gerrit migration story to v2.15
GerritHub a true Gerrit migration story to v2.15GerritHub a true Gerrit migration story to v2.15
GerritHub a true Gerrit migration story to v2.15
 
Git presentation
Git presentationGit presentation
Git presentation
 
Data science Git management
Data science Git managementData science Git management
Data science Git management
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
Git Basics
Git BasicsGit Basics
Git Basics
 
Gerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerGerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and Docker
 

Plus de Luca Milanesio

Cloud-native Gerrit Code Review
Cloud-native Gerrit Code ReviewCloud-native Gerrit Code Review
Cloud-native Gerrit Code ReviewLuca Milanesio
 
Gerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-stepGerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-stepLuca Milanesio
 
Gerrit Code Review multi-site
Gerrit Code Review multi-siteGerrit Code Review multi-site
Gerrit Code Review multi-siteLuca Milanesio
 
What's new in Gerrit Code Review 3.0
What's new in Gerrit Code Review 3.0What's new in Gerrit Code Review 3.0
What's new in Gerrit Code Review 3.0Luca Milanesio
 
Gerrit User Summit 2019 Keynote
Gerrit User Summit 2019 KeynoteGerrit User Summit 2019 Keynote
Gerrit User Summit 2019 KeynoteLuca Milanesio
 
Gerrit multi-master / multi-site at GerritHub
Gerrit multi-master / multi-site at GerritHubGerrit multi-master / multi-site at GerritHub
Gerrit multi-master / multi-site at GerritHubLuca Milanesio
 
Gerrit User Summit 2018 - Keynote
Gerrit User Summit 2018 - Keynote Gerrit User Summit 2018 - Keynote
Gerrit User Summit 2018 - Keynote Luca Milanesio
 
Gerrit User Summit 2017 Keynote
Gerrit User Summit 2017 KeynoteGerrit User Summit 2017 Keynote
Gerrit User Summit 2017 KeynoteLuca Milanesio
 
How to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issuesHow to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issuesLuca Milanesio
 
Jenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle TimeJenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle TimeLuca Milanesio
 
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code ReviewJenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code ReviewLuca Milanesio
 
Stable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code ReviewStable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code ReviewLuca Milanesio
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeLuca Milanesio
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsLuca Milanesio
 
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsDevoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsLuca Milanesio
 
Gerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyGerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyLuca Milanesio
 
Jenkins User Conference - Continuous Delivery on Mobile
Jenkins User Conference - Continuous Delivery on MobileJenkins User Conference - Continuous Delivery on Mobile
Jenkins User Conference - Continuous Delivery on MobileLuca Milanesio
 
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForgeMobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForgeLuca Milanesio
 
GitBlit plugin for Gerrit Code Review
GitBlit plugin for Gerrit Code ReviewGitBlit plugin for Gerrit Code Review
GitBlit plugin for Gerrit Code ReviewLuca Milanesio
 

Plus de Luca Milanesio (20)

Cloud-native Gerrit Code Review
Cloud-native Gerrit Code ReviewCloud-native Gerrit Code Review
Cloud-native Gerrit Code Review
 
Gerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-stepGerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-step
 
Gerrit Code Review multi-site
Gerrit Code Review multi-siteGerrit Code Review multi-site
Gerrit Code Review multi-site
 
What's new in Gerrit Code Review 3.0
What's new in Gerrit Code Review 3.0What's new in Gerrit Code Review 3.0
What's new in Gerrit Code Review 3.0
 
Gerrit User Summit 2019 Keynote
Gerrit User Summit 2019 KeynoteGerrit User Summit 2019 Keynote
Gerrit User Summit 2019 Keynote
 
Gerrit multi-master / multi-site at GerritHub
Gerrit multi-master / multi-site at GerritHubGerrit multi-master / multi-site at GerritHub
Gerrit multi-master / multi-site at GerritHub
 
Gerrit User Summit 2018 - Keynote
Gerrit User Summit 2018 - Keynote Gerrit User Summit 2018 - Keynote
Gerrit User Summit 2018 - Keynote
 
Gerrit User Summit 2017 Keynote
Gerrit User Summit 2017 KeynoteGerrit User Summit 2017 Keynote
Gerrit User Summit 2017 Keynote
 
How to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issuesHow to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issues
 
Jenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle TimeJenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle Time
 
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code ReviewJenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
 
Stable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code ReviewStable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code Review
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review Upgrade
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData Analytics
 
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsDevoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
 
Is TDD dead or alive?
Is TDD dead or alive?Is TDD dead or alive?
Is TDD dead or alive?
 
Gerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyGerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and Groovy
 
Jenkins User Conference - Continuous Delivery on Mobile
Jenkins User Conference - Continuous Delivery on MobileJenkins User Conference - Continuous Delivery on Mobile
Jenkins User Conference - Continuous Delivery on Mobile
 
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForgeMobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
 
GitBlit plugin for Gerrit Code Review
GitBlit plugin for Gerrit Code ReviewGitBlit plugin for Gerrit Code Review
GitBlit plugin for Gerrit Code Review
 

Dernier

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Gerrit Code Review v3.2 and v3.3

  • 1. 0Virtual Gerrit User Summit 2020 – On-line GerritForge.com 0 What’s new in Gerrit 3.2/3.3 Luca Milanesio Gerrit Code Review Maintainer GerritForge
  • 2. 1Virtual Gerrit User Summit 2020 – On-line GerritForge.com 1 About GerritForge Founded in the UK HQ in London with presence in Europe and the USA (GerritForge Inc.) Committed to OpenSource and to Gerrit Code Review since 2009
  • 3. 2Virtual Gerrit User Summit 2020 – On-line GerritForge.com 2 Gerrit v3.2 in numbers Source: analytics.gerrithub.io
  • 4. 3Virtual Gerrit User Summit 2020 – On-line GerritForge.com 3 Gerrit v3.3 in numbers Source: analytics.gerrithub.io
  • 5. 4Virtual Gerrit User Summit 2020 – On-line GerritForge.com 4 Gerrit v3.2/v3.3 vs. previous releases
  • 6. 5Virtual Gerrit User Summit 2020 – On-line GerritForge.com 5 Gerrit 3.2: Java 11 Gerrit officially supported on Java 11 runtime • Both Java 8 and Java 11 support • gerrit.war and plugin API distributed on Java 8 bytecode • This is the last Gerrit distributed for Java 8 Stats of the first 3 months of adoption of Gerrit v3.2 (source: gerrit-ci.gerritforge.com): 72% on Java 11 / 38% on Java 8
  • 7. 6Virtual Gerrit User Summit 2020 – On-line GerritForge.com 6 Gerrit 3.3: Java 11 Gerrit officially distributed for Java 11 • gerrit.war and plugin API distributed on Java 11 bytecode • Does NOT work out-of-the-box for Java 8 (needs rebuild) • Incoming changes on stable-3.3 and master: validated for Java 8 • Gerrit plugins have to target Java 11 (Gerrit plugin API distributed on Java 8 only)
  • 8. 7Virtual Gerrit User Summit 2020 – On-line GerritForge.com 7 Gerrit 3.2: Performance Shawn (RIP) always said: “performance is a feature, and a very important one” Mergeability computation behavior • NEVER No mergeability flag computation • REF_UPDATED_AND_CHANGE_REINDEX (is:mergeable) • API_REF_UPDATED_AND_CHANGE_REINDEX (is:mergeable and mergeable in ChangeInfo) FASTER SLOWER
  • 9. 8Virtual Gerrit User Summit 2020 – On-line GerritForge.com 8 Gerrit 3.2: Performance New accounts cache • External IDs + user name (cached in ExternalIdCache) • CachedAccountDetails (newly cached) • Gerrit’s default settings CachedAccountDetails (with account-id sharding)
  • 10. 9Virtual Gerrit User Summit 2020 – On-line GerritForge.com 9 Gerrit 3.2: Performance New external groups cache • groups_external Caches all the external groups available to Gerrit • groups_external_persisted Caches all external groups available to Gerrit at some point in history
  • 11. 10Virtual Gerrit User Summit 2020 – On-line GerritForge.com 10 Gerrit 3.2: InstanceId Optional config for HA and Multi-Site setup • ServerId <> InstanceId • Background: why do you need it? • Use-cases • Troubleshooting of events across the cluster • Avoiding double-notifications (e.g. Jira plugin) • Avoid loops of events (e.g. HA) Contributed by GerritForge
  • 12. 11Virtual Gerrit User Summit 2020 – On-line GerritForge.com 11 Gerrit 3.2: zero-downtime upgrade Allow upgrading from v3.1.6+ without downtime • Requires HA setup with shared repositories • Flagged as “experimental” • Successfully test on GerritHub.io upgrade Contributed by GerritForge
  • 13. 12Virtual Gerrit User Summit 2020 – On-line GerritForge.com 12 Gerrit 3.2: PolyGerrit Polymer 3 Major milestone in front-end modernization UI improvements • cherry pick entire topics • display names (first name or username as default) • show the entire comment thread in reply dialog • “Start Review” button added to change view • in-product reminder to keep discussions respectful • “Edit” button to the diff view • editing the commit message as part of a change edit
  • 14. 13Virtual Gerrit User Summit 2020 – On-line GerritForge.com 13 Gerrit 3.2: Permissions New Revert permission allow/deny the ability to revert a change through the Gerrit UI. The permission is automatically added to the Registered Users as part of the schema upgradet
  • 15. 14Virtual Gerrit User Summit 2020 – On-line GerritForge.com 14 Gerrit 3.2: PolyGerrit File uploads Contributed by Wikimedia
  • 16. 15Virtual Gerrit User Summit 2020 – On-line GerritForge.com 15 Gerrit 3.2: is:merge new is:merge operator for allowing to find changes that are merge commits. NOTE: Requires a full reindex of the changes, which may take quite a long time to compute for large-sized installations. Contributed by SAP
  • 17. 16Virtual Gerrit User Summit 2020 – On-line GerritForge.com 16 Gerrit 3.2: SSH commands gerrit set-topic: set the topic of a change (existing REST-API surfaced via SSH) gerrit sequence show: show the current sequences value from All-Projects.git or All-Users.git gerrit sequence set: set the next value for sequences in All-Projects.git or All-Users.git
  • 18. 17Virtual Gerrit User Summit 2020 – On-line GerritForge.com 17 Gerrit 3.2: E2E tests Gerrit source code now has /e2e-tests • Based on GerritForge’s Gatling-Git plugin • Framework for plugins’ E2E testing • Real Gerrit setup with simulations of: • Gerrit repositories and test-case setups • REST-API interactions • Git protocol interactions Contributed by Ericsson
  • 19. 18Virtual Gerrit User Summit 2020 – On-line GerritForge.com 18 Gerrit 3.2: Native Packages updates • RPMs for RedHat & CentOS 8.1 • Debs for Debian & Ubuntu 20.04 • Docker image: Java upgraded to OpenJDK 11 • Support for AWS with aws-gerrit Contributed by GerritForge
  • 20. 19Virtual Gerrit User Summit 2020 – On-line GerritForge.com 19 Gerrit 3.3: Attention-set Thanks to Ben + UX, PolyGerrit and Backend Teams !! NOTE: It is enabled by default
  • 21. 20Virtual Gerrit User Summit 2020 – On-line GerritForge.com 20 Gerrit 3.3: Replication improvements Stabilization of the replication tasks storage + fixes • Ability to push changes to replicas • Manage exceptions and NFS quirks for replication tasks storage • Do not wait for pending replication events on startup • Multi-server clustering replication (still experimental) Contributed by Qualcomm
  • 22. 21Virtual Gerrit User Summit 2020 – On-line GerritForge.com 21 Gerrit 3.3: Native Packages updates RPMs for RedHat & CentOS 8.2
  • 23. 22Virtual Gerrit User Summit 2020 – On-line GerritForge.com 22 Gerrit 3.0 and 2.16: EOL Gerrit 3.0.x is EOL according to the support policy [1] Gerrit 2.16 is EOL with exceptions: receives updates for NoteDb migration, see v2.16.23: • Huge performance improvement for large repos • new option --force-state-change-with-skip in the NoteDb • Fix contention on single database connection • Update noteDb status in chunks • Use multiple threads per project for improving the performance [1] https://www.gerritcodereview.com/support.html
  • 24. 23Virtual Gerrit User Summit 2020 – On-line GerritForge.com 23 Q&A: excited about the future of Gerrit? Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
  • 25. 24Virtual Gerrit User Summit 2020 – On-line GerritForge.com 24 Wants to know more? GerritForge.com/contact