Update zookeeper to 3.8.2 and update dependencies

Update
- zookeeper to 3.8.2, versions < 3.7 are EOL [1]
- global-refdb to 3.7.4
- curator to 5.5.0
- netty-all to 4.1.94.Final
- jackson to 2.15.2
- testcontainers to 1.18.3
- docker-java to 3.3.2
- jna to 5.13.0

Previously there were 2 build targets to build the plugin for zookeeper
3.4 and 3.5. This was done in [2] to allow using 3.4 without ssl support
and 3.5 with ssl support in different installations. Since both these
versions are EOL since more than a year remove the second build target
and only provide a build for the latest zookeeper release 3.8.2.

Zookeeper release notes for 3.8.0 [3] state:

"ZooKeeper clients from 3.5.x onwards are fully compatible with 3.8.x
servers. The upgrade from 3.6.x and 3.7.x can be executed as usual, no
particular additional upgrade procedure is needed.
ZooKeeper 3.8.x clients are compatible with 3.5.x, 3.6.x and 3.7.x
servers as long as you are not using new APIs not present these
versions."

Running the zookeeper-refdb against a zookeeper 3.7.0 container
(defined in ZookeeperTestContainerSupport) succeeded.

While we are at it reformat the build files using buildifier.

[1] https://endoflife.date/zookeeper
[2] https://gerrit-review.googlesource.com/c/plugins/zookeeper-refdb/+/270620
[3] https://zookeeper.apache.org/releases.html

Change-Id: I2cceb9c7f3acf8df8cf4fb87323f5d89885ce919
4 files changed
tree: 959c4779c1926967a9ba80407101031b0ac59c64
  1. src/
  2. .gitignore
  3. BUILD
  4. external_plugin_deps.bzl
  5. Jenkinsfile
  6. LICENSE
  7. README.md
README.md

Gerrit Zookeeper ref-db

This plugin provides an implementation of the Gerrit global ref-db backed by Apache Zookeeper.

Requirements for using this plugin are:

  • Gerrit v3.2 or later
  • Apache Zookeeper v3.4 or later

Typical use-case

The global ref-db is a typical use-case of a Gerrit multi-master scenario in a multi-site setup. Refer to the Gerrit multi-site plugin for more details on the high level architecture.