Last year we presented the vision and road-map of Gerrit multi-master setup at GerritHub.io. This year GerritForge and the Gerrit community have released the first version of the multi-site plugin, based on the legacy of the successful high-availability plugin started years ago by Ericsson.
The multi-site plugin is a 100% OpenSource solution and does not require any proprietary software installed or hardware/software level filesystem replication: it is fully based on the replication, healthcheck and multi-site plugins.
Multi-site is a journey and the Community is making big steps towards it.
1. 0Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 0
Gerrit goes multi-site
… and is 100% open source
Luca Milanesio
Gerrit Code Review Maintainer
GerritForge
2. 1Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 1
About GerritForge
Founded in the
UK
HQ in London Committed to
OpenSource
3. 2Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 2
The Journey to multi-site
4. 3Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 3
Single master
Gerrit Master
Incoming traffic
10. 9Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 9
(CA)(CA)
Gerrit multi-master multi-site
Gerrit
masters
(USA)
Replication
Gerrit
masters
(India)
Replication
Multi-site
Multi-site
Reliable broker
ü Sync index and caches across sites
ü Reliable across failures
ü Fully async, max performance
ü Fully distributed, max availability
ü Eventually consistent across sites
11. 10Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 10
Gerrit multi-master multi-site
Gerrit multi-site
IS
Highly Available
Partition tolerant
12. 11Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 11
Split-brain
prevention
13. 12Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 12
Ref-Db
Coordinator
• The Ref-Db coordinator is
used to guarantee that
two Gerrit instances do
not go into a split-brain
scenario
• Reject any push where
parent ObjectId is not
aligned with the shared
ref-db
14. 13Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 13
Next steps: location-aware DNS
Gerrit master
(CA)
Rest of the World
Traffic (R/W)
Gerrit master
(CA)
HAproxy HAproxy
Gerrit master
(GER)
Gerrit master
(GER)
HAproxy HAproxy
EU Traffic (R/W)
Multi-site pluginMulti-site pluginMulti-site pluginMulti-site plugin
15. 14Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 14
Poll: have you implemented multi-master/HA?
Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
16. 15Gerrit User Summit 2019 – Volvo Cars – Gothenburg - Sweden GerritForge.com 15
Wants to know more?
GerritForge.com/contact