What I have at the moment is pretty easy
Server 1:
peerinfo.url = http://server2:8080/gerrit/
Server 2:
peerinfo.url = http://server1:8080/gerrit/
So - they point at each other.
What if I have three? Could it be as simple as round-robin (Server1->Server2, Server2->Server3, Server3->Server1)? Is there a sneaky option to have two peerinfo.url options perhaps?
We're investigating this for a pretty good reason - although we have some beefy servers, there's already around 10k users, 3k projects. Given a bit of growth, there's a point when one server dropping would switch a pretty big load to the other. I like the idea of having 3 at this kind of scale and upwards, afterall one of the goals is to stop scaling vertically and be able to horizontally scale.
Has anyone done this or have any insights? I know it's pretty easy to stick another VM into our test rig and try this out (or stop being lazy and look at the source code perhaps) but would value anyone being able to share any experience.
I'd be happy to do a bit of work on this and contribute back if no one has done this before.
Thanks,
Leigh
--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
On 17 Aug 2017, at 12:21, Leigh Grealis <lgre...@clearvision-cm.com> wrote:Thanks Luca.
That's interesting. In the testing I've done, with HAproxy just doing simple round-robin of any incoming requests, it appears that both master nodes can effectively be actively serving responses consistently.
Even stream-events seemed to be handled nicely from a Jenkins Gerrit Trigger plugin.
Am I missing something which would make this a dangerous usage pattern? My testing has been reasonably anecdotal rather than any serious testing of high-volume/load usage which I was planning to get to.
Should the plugin just be seen as a way to ensure fast fail-over rather than providing a more load-balanced type of configuration?
This would still have obvious benefits but would change my direction for sure.
Philadelphia, PA - USA: +1 (215) 278 8706London / Southampton - UK: +44 (0) 845 459 9530Dublin - Ireland: +353 1960 9597Košice - Slovakia / Central Europe: +421 55 308 29 16Bangalore - India: +91 (0) 804 901 6431Save paper – think before you print! This E-mail and its attachments are strictly confidential. If you are not the intended addressee you may not copy, forward, disclose or use any part of this email or its associated attachments (if present). If you have received this message in error, please contact the sender immediately and delete all copies from your system. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for delivery, security or virus integrity nor for any errors or omissions
On 17 Aug 2017, at 21:31, Martin Fick <mf...@codeaurora.org> wrote:On Thursday, August 17, 2017 05:17:01 PM Luca Milanesio
wrote:Would it be worth to write a dedicated chapter about the
HA-configurations and the current Multi-master
capabilities? Otherwise people need to get them distilled
from discussions like this on the mailing list :-(
This was the starting intent of the multi-master "plugin".
It is entirely a documentation project so far. It describes
some of the things needed to setup a multi-master. I
believe it is a good place to describe all things related to
multi-master. We also used to have a web-page describing MM
stuff, and it would be good to get any info missing from
there into the MM plugin docs.
The intent in the doc plugin can be to discuss all MM issues
and offer solutions, whether the solution be use a specific HA
plugin, configure a load balancer, use RR DNS, or there
currently is no implementation but the solution needs to do
blah blah blah... There are several solutions to some of
the issues, including multiple plugins.
I envision the MM being a place where you might add any glue
that you might need between these various solutions, perhaps
it becomes the place, or even just the interfaces to define
your cluster?As you guys are moving into multi-master, I trust your
word to have done all the necessary stress tests about it
:-) Which JGit version are you currently running on?
We have tested some use cases. For stress testing we have
been operating many gerrit slaves with concurrent writting
to NFS for years. This is no one-to-one to a gerrit
master, but it stresses most of the the same code paths.
I'll let you know the problems we run into. :) We have
been running active/hot for a while now, and we sometimes
run some connections on the hot node. We will be slowly
bringing in traffic to the hot node soon, and montoring for
issues,
about this. We have not found any issues yet on our servers
with repacking on NFS, but we do something slightly different
(we always make a link to the packfile before repacking), so
perhaps that solves this issue?
FYI, we are about to go full multi-master with our 2.7
version of Gerrit. :)
Thanks,
-Martin
--
The Qualcomm Innovation Center, Inc. is a member of Code
Aurora Forum, hosted by The Linux Foundation
More info at http://groups.google.com/group/repo-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss+unsubscribe@googlegroups.com.
If you can tolerate these short periods of change query inconsistency then you likelycan use HA plugin and configure HAProxy to do round-robin load balancing.
More info at http://groups.google.com/group/repo-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
More info at http://groups.google.com/group/repo-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.