blob: f3f65637da1d5b72b4360c7e794bbe1884cf3800 [file] [log] [blame] [view]
This plugin is a Zookeeper based implementation of the Global Ref-DB interface.
It is the responsibility of the plugin to store key/pairs of the most recent `sha`
for each specific mutable refs, by the usage of some sort of atomic Compare and
Set operation. This enables a series of use-cases, including the detection of
out-of-sync refs across gerrit sites. It also enables concurrent writes on a
multi-master setup by enabling a shared locking mechanism for refs across multiple
nodes.
Originally this code was a part of [multi-site plugin](https://gerrit.googlesource.com/plugins/multi-site/) but currently can be use independently.
## Requirements
Supported Zookeeper version is 3.5.x. For SSL connection minimal Zookeeper version is 3.5.1[ZOOKEEPER-2125](https://issues.apache.org/jira/browse/ZOOKEEPER-2125).
## Setup
* Install @PLUGIN@ plugin
Install the zookeeper plugin into the `$GERRIT_SITE/plugins` directory of all
the Gerrit servers that are part of the cluster.
* Configure @PLUGIN@ plugin
Create the `$GERRIT_SITE/etc/@PLUGIN@.config` on all Gerrit servers with the
following basic settings. Where `zookeeperhost` is the host that is running zookeeper
and `2181` is the default zookeeper port, please change them accordingly:
```
[ref-database "zookeeper"]
connectString = "zookeeperhost:2181"
```
For further information and supported options, refer to [config](config.md)
documentation.