| 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. |