Hi Group,
Quick question with your permission:
I have troubles to understand how HAProxy and Gerrit can work in a Multi Master Topology without having a SHA conflicts.
For example:
I have HAProxy (Hostname: HAProxy) and 2 Gerrit Servers (Gerrit Node 01 and Gerrit Node 02)
The HAProxy is configure as both L7 (HTTPS) and L4 (SSH).
The HAProxy config is based on the following
config:
Where there are two approaches:
1. Active/Passive
2. Active/Active
However the Active/Active configuration present is not a real active active, because with a write operation the:
1. HAProxy always route the traffic to a single master server when a POST command present in the HTTP Headers (L7).
2. HAproxy always router the traffic to a single master with L4 (SSH).
It is true that with HTTP(L7) the HAProxy can router traffic to other slaves but this is only for READ operations. With HTTP(L4) the HAProxy always hit the Main Server(even for read operations).
The
high-availability plugin do explain how to setup Multi Master Topology but does not explain how the configuration in
Multi-Master Configuration doc (where there is not
BACKUP declaration in the HAProxy) not fails to have SHA conflicts if multi commits enter to the gerrit in the same time.
To my understanding a
REAL Mutli Master requires gerrit v3.3 or later with the global-refdb within the same
site as explain in
multi-site.
I would be happy if someone can clarified this.
P.S. Will it be wise to enforce HTTP mode only without SSH?
Thank You
Sassy