SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
0Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 0
Migrating to Gerrit 2.15
A success story by GerritHub.io
Luca Milanesio
Gerrit Code Review Maintainer
GerritForge
1Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 1
About GerritForge
Founded in the
UK
HQ in London Committed to
OpenSource
2Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 2
About GerritHub.io
• 5 years of activity
• 37k Gerrit projects hosted
• 16k monthly active users
• 300+ organizations
• 99.9% availability
3Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 3
Multi-master / dual-site Gerrit setup
OVH - Canada Hetzner - Germany
4Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 4
Challenges when upgrading to 2.15
1.Zero-downtime
2.Accounts migration
3.NoteDb migration
4.Replication to GitHub
5Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 5
Challenge #1 zero downtime
OVH – Canada (v2.14) Hetzner – Germany
(v2.14 è v2.15 online reindex)
Incoming traffic
6Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 6
Challenge #1 zero downtime
OVH – Canada (v2.14)
+ readonly plugin
Hetzner – Germany
(reinit v2.15)
Incoming traffic
replication
7Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 7
Challenge #1 zero downtime
OVH – Canada (v2.14)
+ readonly plugin
Hetzner – Germany
(delta-reindex v2.15)
Incoming traffic
replication
8Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 8
Challenge #1 zero downtime
OVH – Canada
(v2.14 è v2.15)
Hetzner – Germany
(v2.15 on ReviewDb)
Incoming traffic
9Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 9
Challenge #1 zero downtime
OVH – Canada
(v2.15 delta reindex)
Hetzner – Germany
(v2.15 on ReviewDb)
Incoming traffic
replication
10Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 10
Challenge #2 accounts migration
Accounts table (DB)
All-Users (repo)
accounts index (lucene)
v2.14
All-Users (repo)
accounts index (lucene)
v2.15
• All-Users getting fragmented quickly è open files explosion
• accounts index misalignments in v2.14 (unnoticed)
11Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 11
Challenge #3 NoteDb migration
OVH – Canada
(v2.15 / ReviewDb)
Hetzner – Germany
(v2.15 ReviewDb è NoteDb)
Incoming traffic
replication
12Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 12
Challenge #3 NoteDb migration
OVH – Canada
(v2.15 restart with NoteDb cfg)
Hetzner – Germany
(v2.15 NoteDb)
Incoming traffic
replication
13Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 13
Challenge #3 NoteDb migration
OVH – Canada
(v2.15 NoteDb)
Hetzner – Germany
(v2.15 NoteDb + readonly)
Incoming traffic
replication
14Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 14
Challenge #3 NoteDb migration
OVH – Canada
(v2.15 NoteDb)
Hetzner – Germany
(v2.15 NoteDb)
Incoming traffic
replication
15Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 15
Challenge #4 replication to GitHub
NoteDb = refs (w/ ReviewDb) + Num (changes)
Git push to GitHub = HTTP Status 500 (boom !)
16Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 16
Poll: did you have similar problems?
Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
17Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 17
Wants to know more?
GerritForge.com/contact

Más contenido relacionado

La actualidad más candente

Jenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelinesJenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelinesLuca Milanesio
 
Diffy gets enterprise grade
Diffy gets enterprise gradeDiffy gets enterprise grade
Diffy gets enterprise gradeEryk Szymanski
 
Putting data science to work
Putting data science to workPutting data science to work
Putting data science to workAlex Breeze
 
SW360 Update Tooling Telco
SW360 Update Tooling TelcoSW360 Update Tooling Telco
SW360 Update Tooling TelcoShane Coughlan
 
From Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet ProtocolFrom Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet ProtocolStefan Ianta
 
So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?Janel Heilbrunn
 
GITHUB Integration
GITHUB IntegrationGITHUB Integration
GITHUB IntegrationDavid Ibia
 
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesioGeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesioMauricio (Salaboy) Salatino
 
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - SlidesShane Coughlan
 
Python and big data : a good match?
Python and big data : a good match?Python and big data : a good match?
Python and big data : a good match?PyDataParis
 
Git-deliver Ignite slides for DevOps Days Paris 2015
Git-deliver Ignite slides for DevOps Days Paris 2015Git-deliver Ignite slides for DevOps Days Paris 2015
Git-deliver Ignite slides for DevOps Days Paris 2015Arnaud_Betremieux
 
Reactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sReactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sRoland Tritsch
 
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projectsSFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projectsSouth Tyrol Free Software Conference
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limitsAntje Barth
 
How to interconnect digital agendas?
How to interconnect digital agendas?How to interconnect digital agendas?
How to interconnect digital agendas?Yacine Bouallouche
 
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...PROIDEA
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCDCloudOps2005
 
Last Month in PHP - May 2018
Last Month in PHP - May 2018Last Month in PHP - May 2018
Last Month in PHP - May 2018Eric Poe
 

La actualidad más candente (20)

Jenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelinesJenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelines
 
Diffy gets enterprise grade
Diffy gets enterprise gradeDiffy gets enterprise grade
Diffy gets enterprise grade
 
Putting data science to work
Putting data science to workPutting data science to work
Putting data science to work
 
SW360 Update Tooling Telco
SW360 Update Tooling TelcoSW360 Update Tooling Telco
SW360 Update Tooling Telco
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
 
From Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet ProtocolFrom Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet Protocol
 
So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?
 
GITHUB Integration
GITHUB IntegrationGITHUB Integration
GITHUB Integration
 
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesioGeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
 
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
 
Python and big data : a good match?
Python and big data : a good match?Python and big data : a good match?
Python and big data : a good match?
 
Git-deliver Ignite slides for DevOps Days Paris 2015
Git-deliver Ignite slides for DevOps Days Paris 2015Git-deliver Ignite slides for DevOps Days Paris 2015
Git-deliver Ignite slides for DevOps Days Paris 2015
 
Reactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sReactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8s
 
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projectsSFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limits
 
How to interconnect digital agendas?
How to interconnect digital agendas?How to interconnect digital agendas?
How to interconnect digital agendas?
 
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 
Zaif cash
Zaif cashZaif cash
Zaif cash
 
Last Month in PHP - May 2018
Last Month in PHP - May 2018Last Month in PHP - May 2018
Last Month in PHP - May 2018
 

Similar a GerritHub a true Gerrit migration story to v2.15

Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3Luca Milanesio
 
RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...
RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...
RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...Datacratic
 
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜LINE Corporation
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid storyJesse Vincent
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGerger
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGerger
 
Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...
Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...
Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...Intland Software GmbH
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnAndreas Grabner
 
Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeCollabNet
 
Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...
Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...
Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...Charles Sonigo
 
Google Cloud Platform Solutions for DevOps Engineers
Google Cloud Platform Solutions  for DevOps EngineersGoogle Cloud Platform Solutions  for DevOps Engineers
Google Cloud Platform Solutions for DevOps EngineersMárton Kodok
 
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
 
Cloud Foundry Platform Operations - CF Summit 2015
Cloud Foundry Platform Operations - CF Summit 2015Cloud Foundry Platform Operations - CF Summit 2015
Cloud Foundry Platform Operations - CF Summit 2015cornelia davis
 
Status Update of the no-code platform SeaTable at CS3 2022
Status Update of the no-code platform SeaTable at CS3 2022Status Update of the no-code platform SeaTable at CS3 2022
Status Update of the no-code platform SeaTable at CS3 2022Christoph Dyllick-Brenzinger
 
Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...
Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...
Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...LavaConConference
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForgeCollabNet
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for BeginnersNebulaworks
 

Similar a GerritHub a true Gerrit migration story to v2.15 (20)

Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3
 
RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...
RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...
RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...
 
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid story
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
20 cool things python
20 cool things python20 cool things python
20 cool things python
 
Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...
Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...
Roche | The Design History File in codeBeamer ALM: Electronic Records, Signat...
 
DCVCS using GIT
DCVCS using GITDCVCS using GIT
DCVCS using GIT
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 
Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit Teamforge
 
Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...
Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...
Charles sonigo - Demuxed 2018 - How to be data-driven when you aren't Netflix...
 
Google Cloud Platform Solutions for DevOps Engineers
Google Cloud Platform Solutions  for DevOps EngineersGoogle Cloud Platform Solutions  for DevOps Engineers
Google Cloud Platform Solutions for DevOps Engineers
 
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)
 
Cloud Foundry Platform Operations - CF Summit 2015
Cloud Foundry Platform Operations - CF Summit 2015Cloud Foundry Platform Operations - CF Summit 2015
Cloud Foundry Platform Operations - CF Summit 2015
 
Status Update of the no-code platform SeaTable at CS3 2022
Status Update of the no-code platform SeaTable at CS3 2022Status Update of the no-code platform SeaTable at CS3 2022
Status Update of the no-code platform SeaTable at CS3 2022
 
Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...
Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...
Lelani Prevost and Gina Fevrier - Two Wahines Hang Ten Languages off BMC’s Ep...
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForge
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
 

Más de Luca 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
 
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
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review AnalyticsLuca 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 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
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, futureLuca Milanesio
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryLuca Milanesio
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginLuca 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
 

Más de Luca Milanesio (20)

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
 
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
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review Analytics
 
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
 
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
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, future
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-delivery
 
Is TDD dead or alive?
Is TDD dead or alive?Is TDD dead or alive?
Is TDD dead or alive?
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
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
 

Último

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 

Último (20)

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 

GerritHub a true Gerrit migration story to v2.15

  • 1. 0Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 0 Migrating to Gerrit 2.15 A success story by GerritHub.io Luca Milanesio Gerrit Code Review Maintainer GerritForge
  • 2. 1Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 1 About GerritForge Founded in the UK HQ in London Committed to OpenSource
  • 3. 2Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 2 About GerritHub.io • 5 years of activity • 37k Gerrit projects hosted • 16k monthly active users • 300+ organizations • 99.9% availability
  • 4. 3Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 3 Multi-master / dual-site Gerrit setup OVH - Canada Hetzner - Germany
  • 5. 4Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 4 Challenges when upgrading to 2.15 1.Zero-downtime 2.Accounts migration 3.NoteDb migration 4.Replication to GitHub
  • 6. 5Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 5 Challenge #1 zero downtime OVH – Canada (v2.14) Hetzner – Germany (v2.14 è v2.15 online reindex) Incoming traffic
  • 7. 6Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 6 Challenge #1 zero downtime OVH – Canada (v2.14) + readonly plugin Hetzner – Germany (reinit v2.15) Incoming traffic replication
  • 8. 7Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 7 Challenge #1 zero downtime OVH – Canada (v2.14) + readonly plugin Hetzner – Germany (delta-reindex v2.15) Incoming traffic replication
  • 9. 8Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 8 Challenge #1 zero downtime OVH – Canada (v2.14 è v2.15) Hetzner – Germany (v2.15 on ReviewDb) Incoming traffic
  • 10. 9Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 9 Challenge #1 zero downtime OVH – Canada (v2.15 delta reindex) Hetzner – Germany (v2.15 on ReviewDb) Incoming traffic replication
  • 11. 10Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 10 Challenge #2 accounts migration Accounts table (DB) All-Users (repo) accounts index (lucene) v2.14 All-Users (repo) accounts index (lucene) v2.15 • All-Users getting fragmented quickly è open files explosion • accounts index misalignments in v2.14 (unnoticed)
  • 12. 11Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 11 Challenge #3 NoteDb migration OVH – Canada (v2.15 / ReviewDb) Hetzner – Germany (v2.15 ReviewDb è NoteDb) Incoming traffic replication
  • 13. 12Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 12 Challenge #3 NoteDb migration OVH – Canada (v2.15 restart with NoteDb cfg) Hetzner – Germany (v2.15 NoteDb) Incoming traffic replication
  • 14. 13Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 13 Challenge #3 NoteDb migration OVH – Canada (v2.15 NoteDb) Hetzner – Germany (v2.15 NoteDb + readonly) Incoming traffic replication
  • 15. 14Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 14 Challenge #3 NoteDb migration OVH – Canada (v2.15 NoteDb) Hetzner – Germany (v2.15 NoteDb) Incoming traffic replication
  • 16. 15Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 15 Challenge #4 replication to GitHub NoteDb = refs (w/ ReviewDb) + Num (changes) Git push to GitHub = HTTP Status 500 (boom !)
  • 17. 16Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 16 Poll: did you have similar problems? Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
  • 18. 17Gerrit User Summit 2018 – Palo Alto CA GerritForge.com 17 Wants to know more? GerritForge.com/contact