diff --git a/BUILD b/BUILD
index 335c2da..5bd8d41 100644
--- a/BUILD
+++ b/BUILD
@@ -7,28 +7,6 @@
 )
 
 gerrit_plugin(
-    name = "zookeeper-refdb-zk-3.5",
-    srcs = glob(["src/main/java/**/*.java"]),
-    dir_name = "zookeeper-refdb",
-    manifest_entries = [
-        "Gerrit-PluginName: zookeeper-refdb",
-        "Gerrit-Module: com.googlesource.gerrit.plugins.validation.dfsrefdb.zookeeper.ZkValidationModule",
-        "Implementation-Title: zookeeper ref-db plugin",
-        "Implementation-URL: https://review.gerrithub.io/admin/repos/GerritForge/plugins_zookeeper",
-    ],
-    resources = glob(["src/main/resources/**/*"]),
-    deps = [
-        ":global-refdb-neverlink",
-        "@curator-client//jar",
-        "@curator-framework//jar",
-        "@curator-recipes//jar",
-        "@netty-all//jar",
-        "@zookeeper-jute_3.5//jar",
-        "@zookeeper_3.5//jar",
-    ],
-)
-
-gerrit_plugin(
     name = "zookeeper-refdb",
     srcs = glob(["src/main/java/**/*.java"]),
     manifest_entries = [
@@ -44,7 +22,17 @@
         "@curator-client//jar",
         "@curator-framework//jar",
         "@curator-recipes//jar",
-        "@zookeeper_3.4//jar",
+        "@netty-buffer//jar",
+        "@netty-codec//jar",
+        "@netty-common//jar",
+        "@netty-handler//jar",
+        "@netty-resolver//jar",
+        "@netty-transport-classes-epoll//jar",
+        "@netty-transport-native-epoll//jar",
+        "@netty-transport-native-unix-common//jar",
+        "@netty-transport//jar",
+        "@zookeeper-jute//jar",
+        "@zookeeper//jar",
     ],
 )
 
@@ -72,21 +60,22 @@
     testonly = 1,
     visibility = ["//visibility:public"],
     exports = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
+        ":zookeeper-refdb__plugin",
         "//plugins/global-refdb",
-        ":zookeeper-refdb-zk-3.5__plugin",
+        "@curator-client//jar",
         "@curator-framework//jar",
         "@curator-recipes//jar",
         "@curator-test//jar",
-        "@curator-client//jar",
-        "@jackson-annotations//jar",
-        "@jna//jar",
-        "@visible-assertions//jar",
         "@docker-java-api//jar",
+        "@docker-java-transport-zerodep//jar",
         "@docker-java-transport//jar",
         "@duct-tape//jar",
-        "@testcontainers//jar",
-        "@testcontainer-localstack//jar",
-        "@jackson-dataformat-cbor//jar",
+        "@jackson-annotations//jar",
         "@jackson-databind//jar",
+        "@jackson-dataformat-cbor//jar",
+        "@jna//jar",
+        "@testcontainer-localstack//jar",
+        "@testcontainers//jar",
+        "@visible-assertions//jar",
     ],
 )
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index b50d3bf..726a563 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -1,108 +1,169 @@
 load("//tools/bzl:maven_jar.bzl", "maven_jar")
 
 def external_plugin_deps():
-    CURATOR_VER = "4.2.0"
+    CURATOR_VER = "5.5.0"
 
     maven_jar(
         name = "curator-test",
         artifact = "org.apache.curator:curator-test:" + CURATOR_VER,
-        sha1 = "98ac2dd69b8c07dcaab5e5473f93fdb9e320cd73",
+        sha1 = "065586d87700aa29855e6aa566b210eadd1bb38d",
     )
 
     maven_jar(
         name = "curator-framework",
         artifact = "org.apache.curator:curator-framework:" + CURATOR_VER,
-        sha1 = "5b1cc87e17b8fe4219b057f6025662a693538861",
+        sha1 = "b706a216e49352103bd2527e83b1ec2410924494",
     )
 
     maven_jar(
         name = "curator-recipes",
         artifact = "org.apache.curator:curator-recipes:" + CURATOR_VER,
-        sha1 = "7f775be5a7062c2477c51533b9d008f70411ba8e",
+        sha1 = "4aa0cfb129c36cd91528fc1b8775705280e60285",
     )
 
     maven_jar(
         name = "curator-client",
         artifact = "org.apache.curator:curator-client:" + CURATOR_VER,
-        sha1 = "d5d50930b8dd189f92c40258a6ba97675fea3e15",
+        sha1 = "db2d83bdc0bac7b4f25fc113d8ce3eedc0a4e89c",
+    )
+
+    ZOOKEEPER_VER = "3.8.2"
+
+    maven_jar(
+        name = "zookeeper",
+        artifact = "org.apache.zookeeper:zookeeper:" + ZOOKEEPER_VER,
+        sha1 = "963e953f8e362fc3f253832876be2ae2dcde58d7",
     )
 
     maven_jar(
-        name = "zookeeper_3.5",
-        artifact = "org.apache.zookeeper:zookeeper:3.5.8",
-        sha1 = "fc0d02657ed5b26029daa50d7f98b9806a0b13af",
+        name = "zookeeper-jute",
+        artifact = "org.apache.zookeeper:zookeeper-jute:" + ZOOKEEPER_VER,
+        sha1 = "f644829e30004ff4a079c357c4bb34bf5aa5fb94",
+    )
+
+    NETTY_VER = "4.1.94.Final"
+
+    maven_jar(
+        name = "netty-buffer",
+        artifact = "io.netty:netty-buffer:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "eec248b26f16e888688e5bb37b7eeda76b78d2f7",
     )
 
     maven_jar(
-        name = "zookeeper-jute_3.5",
-        artifact = "org.apache.zookeeper:zookeeper-jute:3.5.8",
-        sha1 = "b399078f6ccfd6c258e42054091052e8f3e05824",
+        name = "netty-codec",
+        artifact = "io.netty:netty-codec:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "c70ef20ca338558147887df60f46341bc47f6900",
     )
 
     maven_jar(
-        name = "netty-all",
-        artifact = "io.netty:netty-all:4.1.48.Final",
-        sha1 = "ebb3666ba4883ba81920cec8ccb1a3adcc827eb1",
+        name = "netty-common",
+        artifact = "io.netty:netty-common:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "ad4ecf779ebc794cd351f57792f56ea01387b868",
     )
 
     maven_jar(
-        name = "zookeeper_3.4",
-        artifact = "org.apache.zookeeper:zookeeper:3.4.14",
-        sha1 = "c114c1e1c8172a7cd3f6ae39209a635f7a06c1a1",
+        name = "netty-handler",
+        artifact = "io.netty:netty-handler:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "cd9121ce24d6d3f2898946d04b0ef3ec548b00b4",
     )
 
-    JACKSON_VER = "2.10.4"
+    maven_jar(
+        name = "netty-resolver",
+        artifact = "io.netty:netty-resolver:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "e96f649e8e9dcb29a1f8e95328b99c9eb6cf76c2",
+    )
+
+    maven_jar(
+        name = "netty-transport",
+        artifact = "io.netty:netty-transport:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "ec783a737f96991a87b1d5794e2f9eb2024d708a",
+    )
+
+    maven_jar(
+        name = "netty-transport-classes-epoll",
+        artifact = "io.netty:netty-transport-classes-epoll:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "240e36cd5c2ffaf655913f8857f2d58b26394679",
+    )
+
+    maven_jar(
+        name = "netty-transport-native-epoll",
+        artifact = "io.netty:netty-transport-native-epoll:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "1f77c54f1877d9ed51f207eb64a5634bdcc7efa1",
+    )
+
+    maven_jar(
+        name = "netty-transport-native-unix-common",
+        artifact = "io.netty:netty-transport-native-unix-common:" + NETTY_VER,
+        attach_source = False,
+        sha1 = "3fa5f9d04b6b782d869d6e0657d896eeadca5866",
+    )
+
+    JACKSON_VER = "2.15.2"
 
     maven_jar(
         name = "jackson-annotations",
         artifact = "com.fasterxml.jackson.core:jackson-annotations:" + JACKSON_VER,
-        sha1 = "6ae6028aff033f194c9710ad87c224ccaadeed6c",
+        sha1 = "4724a65ac8e8d156a24898d50fd5dbd3642870b8",
     )
 
     maven_jar(
         name = "jackson-core",
         artifact = "com.fasterxml.jackson.core:jackson-core:" + JACKSON_VER,
-        sha1 = "8796585e716440d6dd5128b30359932a9eb74d0d",
+        sha1 = "a6fe1836469a69b3ff66037c324d75fc66ef137c",
     )
 
     maven_jar(
         name = "jackson-dataformat-cbor",
         artifact = "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:" + JACKSON_VER,
-        sha1 = "c854bb2d46138198cb5d4aae86ef6c04b8bc1e70",
+        sha1 = "baafc85c70765594add14bd93f3efd68e1945b76",
     )
 
     maven_jar(
         name = "jackson-databind",
         artifact = "com.fasterxml.jackson.core:jackson-databind:" + JACKSON_VER,
-        sha1 = "76e9152e93d4cf052f93a64596f633ba5b1c8ed9",
+        sha1 = "9353b021f10c307c00328f52090de2bdb4b6ff9c",
     )
 
-    TESTCONTAINERS_VERSION = "1.15.3"
+    TESTCONTAINERS_VERSION = "1.18.3"
 
     maven_jar(
         name = "testcontainers",
         artifact = "org.testcontainers:testcontainers:" + TESTCONTAINERS_VERSION,
-        sha1 = "95c6cfde71c2209f0c29cb14e432471e0b111880",
+        sha1 = "a82f6258f92d50d278b9c67bdf5eabcaa5c08654",
     )
 
     maven_jar(
         name = "testcontainer-localstack",
         artifact = "org.testcontainers:localstack:" + TESTCONTAINERS_VERSION,
-        sha1 = "7aa69995bdaafb4b06e69fdab9bd98c4fddee43d",
+        sha1 = "2b7a8d4522330217545c4234b916b6b77f5c6f95",
     )
 
-    DOCKER_JAVA_VERS = "3.2.8"
+    DOCKER_JAVA_VERS = "3.3.2"
 
     maven_jar(
         name = "docker-java-api",
         artifact = "com.github.docker-java:docker-java-api:" + DOCKER_JAVA_VERS,
-        sha1 = "4ac22a72d546a9f3523cd4b5fabffa77c4a6ec7c",
+        sha1 = "0de6345d2f69638a224f73d9e62de83c7692e436",
     )
 
     maven_jar(
         name = "docker-java-transport",
         artifact = "com.github.docker-java:docker-java-transport:" + DOCKER_JAVA_VERS,
-        sha1 = "c3b5598c67d0a5e2e780bf48f520da26b9915eab",
+        sha1 = "a4c2cba248ccfefe9c5c8d8d4726f3e0b2b51104",
+    )
+
+    maven_jar(
+        name = "docker-java-transport-zerodep",
+        artifact = "com.github.docker-java:docker-java-transport-zerodep:" + DOCKER_JAVA_VERS,
+        sha1 = "36ef508e5e48613afb7fafbf7e89184243738e96",
     )
 
     maven_jar(
@@ -119,6 +180,6 @@
 
     maven_jar(
         name = "jna",
-        artifact = "net.java.dev.jna:jna:5.5.0",
-        sha1 = "0e0845217c4907822403912ad6828d8e0b256208",
+        artifact = "net.java.dev.jna:jna:5.13.0",
+        sha1 = "1200e7ebeedbe0d10062093f32925a912020e747",
     )
diff --git a/src/main/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZkInit.java b/src/main/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZkInit.java
index 893698e..fdd04a6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZkInit.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZkInit.java
@@ -20,8 +20,6 @@
 import com.google.gerrit.pgm.init.api.InitStep;
 import com.google.gerrit.server.config.AllProjectsName;
 import com.google.gerrit.server.config.AllProjectsNameProvider;
-import com.google.gerrit.server.config.AllUsersName;
-import com.google.gerrit.server.config.AllUsersNameProvider;
 import com.google.gerrit.server.config.SitePaths;
 import com.google.gerrit.server.schema.NoteDbSchemaVersionManager;
 import com.google.inject.AbstractModule;
@@ -87,7 +85,6 @@
           @Override
           protected void configure() {
             bind(AllProjectsName.class).toProvider(AllProjectsNameProvider.class);
-            bind(AllUsersName.class).toProvider(AllUsersNameProvider.class);
           }
         });
   }
diff --git a/src/main/resources/Documentation/about.md b/src/main/resources/Documentation/about.md
index f3f6563..f6249d8 100644
--- a/src/main/resources/Documentation/about.md
+++ b/src/main/resources/Documentation/about.md
@@ -11,7 +11,7 @@
 
 ## 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).
+Supported Zookeeper version is 3.8.x.
 
 ## Setup
 
diff --git a/src/main/resources/Documentation/build.md b/src/main/resources/Documentation/build.md
index 9370f82..90bdbf7 100644
--- a/src/main/resources/Documentation/build.md
+++ b/src/main/resources/Documentation/build.md
@@ -9,35 +9,70 @@
 Gerrit /plugins directory, replacing the existing empty one.
 
 ```
-  cd gerrit/plugins
-  ln -sf @PLUGIN@/external_plugin_deps.bzl .
+cd gerrit/plugins
+ln -sf @PLUGIN@/external_plugin_deps.bzl .
 ```
 
 From the Gerrit source tree issue the command:
 
 ```
-  bazel build plugins/@PLUGIN@
+bazel build plugins/@PLUGIN@
 ```
 
 The output is created in
 
 ```
-  bazel-bin/plugins/@PLUGIN@/@PLUGIN@.jar
+bazel-bin/plugins/@PLUGIN@/@PLUGIN@.jar
 ```
 
+## Eclipse project setup
+
 This project can be imported into the Eclipse IDE:
-Add the plugin name to the `CUSTOM_PLUGINS_TEST_DEPS`
+
+- Add the plugin name to the `CUSTOM_PLUGINS_TEST_DEPS`
 set in Gerrit core in `tools/bzl/plugins.bzl`,
-and execute:
+- execute:
 
 ```
-  ./tools/eclipse/project.py
+./tools/eclipse/project.py
 ```
 
-To execute the tests run:
+## Run tests
+
+To execute the tests run
 
 ```
-  bazel test --test_tag_filters=@PLUGIN@
+bazel test --test_tag_filters=zookeeper //...
+```
+or
+```
+bazel test //plugins/@PLUGIN@/...
+```
+
+### Debugging tests
+
+```
+bazel test --test_output=streamed //plugins/@PLUGIN@/...
+```
+
+If necessary increase log levels in `src/test/resources/log4j.properties`
+to trace testcontainers and docker java API.
+
+### Tracing traffic to docker daemon
+
+If you face issue you can trace traffic to the docker daemon using
+[socat](https://linux.die.net/man/1/socat) exposing the docker daemon via TCP.
+
+Run socat to log diagnostics and show the traffic to the docker daemon
+
+```
+socat -dd -v TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock
+```
+
+Execute the tests over TCP
+
+```
+bazelisk test --test_env='DOCKER_HOST=tcp://127.0.0.1:2375' //plugins/@PLUGIN@/...
 ```
 
 [Back to @PLUGIN@ documentation index][index]
diff --git a/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java b/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java
index 107ece9..366a83f 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java
@@ -33,7 +33,7 @@
 public class ZookeeperTestContainerSupport {
 
   static class ZookeeperContainer extends GenericContainer<ZookeeperContainer> {
-    public static String ZOOKEEPER_VERSION = "3.5.5";
+    public static String ZOOKEEPER_VERSION = "3.8.2";
 
     public ZookeeperContainer() {
       super("zookeeper:" + ZOOKEEPER_VERSION);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/migration/ZkMigrationsTest.java b/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/migration/ZkMigrationsTest.java
index 3ba2eba..67fc3e2 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/migration/ZkMigrationsTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/migration/ZkMigrationsTest.java
@@ -18,8 +18,8 @@
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
 
 import com.google.gerrit.acceptance.LightweightPluginDaemonTest;
@@ -59,13 +59,13 @@
   @Test
   public void shouldNotMigrateAnythingForNewSites() throws Exception {
     migrations.migrate(plugin.getSysInjector(), curatorMock, 0);
-    verifyZeroInteractions(curatorMock);
+    verifyNoInteractions(curatorMock);
   }
 
   @Test
   public void shouldNotMigrateAnythingForSchema184() throws Exception {
     migrations.migrate(plugin.getSysInjector(), curatorMock, 184);
-    verifyZeroInteractions(curatorMock);
+    verifyNoInteractions(curatorMock);
   }
 
   @Test
@@ -77,18 +77,18 @@
 
     verifyNoMoreInteractions(curatorMock);
     verifyNoMoreInteractions(deleteBuilderMock);
-    verifyZeroInteractions(backgroundVersionableMock);
+    verifyNoInteractions(backgroundVersionableMock);
   }
 
   @Test
   public void shouldNotCallCuratorDeleteIfAlreadyOnLatestVersion() throws Exception {
     migrations.migrate(plugin.getSysInjector(), curatorMock, NoteDbSchemaVersions.LATEST);
-    verifyZeroInteractions(curatorMock);
+    verifyNoInteractions(curatorMock);
   }
 
   @Test
   public void shouldNotCallCuratorDeleteIfOverLatestVersion() throws Exception {
     migrations.migrate(plugin.getSysInjector(), curatorMock, NoteDbSchemaVersions.LATEST + 1);
-    verifyZeroInteractions(curatorMock);
+    verifyNoInteractions(curatorMock);
   }
 }
diff --git a/src/test/resources/log4j.properties b/src/test/resources/log4j.properties
new file mode 100644
index 0000000..2f33b7f
--- /dev/null
+++ b/src/test/resources/log4j.properties
@@ -0,0 +1,9 @@
+log4j.rootLogger=ERROR, MAIN
+log4j.appender.MAIN=org.apache.log4j.ConsoleAppender
+log4j.appender.MAIN.layout=org.apache.log4j.PatternLayout
+log4j.appender.MAIN.layout.ConversionPattern=%r [%t] %-5p %c %x - %m%n
+
+log4j.logger.org.testcontainers=INFO
+log4j.logger.tc=INFO
+log4j.logger.com.github.dockerjava=WARN
+log4j.logger.com.github.dockerjava.zerodep.shaded.org.apache.hc.client5.http.wire=OFF
