Merge  branch 'stable-3.5'

* stable-3.5:
  Allow polling filesystem to be run on a specified queue
  fixup!: Poll the filesystem for new events
  Poll the filesystem for new events
  Allow events from other primaries to be dispatched
  Add ability to drop events by classname
  Cleanup the event capturing for diffs
  Run formatter on classes
  test/docker: Support installing multiple plugins
  test/docker/run: Stop caching artifacts
  test/docker/run: Clarify --gerrit-war usage
  Bump to Gerrit API 3.5.0.1
  Add docker tag to docker-tests target

Change-Id: Ie77344b2173cfd62cd88556c0deee59a0d2327ed
diff --git a/WORKSPACE b/WORKSPACE
index 5e94b73..78c73b8 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "a52e3f381e2fe2a53f7641150ff723171a2dda1e",
+    commit = "e68cc7a45d9ee2b100024b9b12533b50a4598585",
 )
 
 load(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/events/StreamEvents.java b/src/main/java/com/googlesource/gerrit/plugins/events/StreamEvents.java
index d74144a..45549aa 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/events/StreamEvents.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/events/StreamEvents.java
@@ -47,7 +47,6 @@
 
   protected static final int BATCH_SIZE = 32; // yield thread after
   protected static final Gson gson = new Gson();
-  protected static final JsonParser parser = new JsonParser();
 
   @Option(
       name = "--resume-after",
@@ -232,7 +231,7 @@
 
   protected void flush(String uuid, long number, String json) {
     if (json != null) {
-      JsonElement el = parser.parse(json);
+      JsonElement el = JsonParser.parseString(json);
       if (perms.isVisibleTo(el, currentUser)) {
         if (includeIds) {
           el.getAsJsonObject().addProperty("id", uuid + ":" + number);
diff --git a/test/docker/gerrit/Dockerfile b/test/docker/gerrit/Dockerfile
index e9c40bf..86e21dc 100755
--- a/test/docker/gerrit/Dockerfile
+++ b/test/docker/gerrit/Dockerfile
@@ -1,4 +1,4 @@
-FROM gerritcodereview/gerrit:3.5.0.1-ubuntu20
+FROM gerritcodereview/gerrit:3.6.1-ubuntu20
 
 ENV GERRIT_SITE /var/gerrit
 COPY artifacts/plugins/ $GERRIT_SITE/plugins/
diff --git a/test/test_events_plugin.sh b/test/test_events_plugin.sh
index 124ca4a..f8ba2f9 100755
--- a/test/test_events_plugin.sh
+++ b/test/test_events_plugin.sh
@@ -260,7 +260,7 @@
 result_type "$GROUP $type" "ref-updated" 2
 
 type=change-abandoned
-capture_events 3
+capture_events 2
 review "$ch1,1" --abandon
 result_type "$GROUP" "$type"
 
@@ -314,12 +314,12 @@
 ch1=$(create_change "$REF_BRANCH" "$FILE_A") || exit
 type=change-abandoned
 
-capture_events 3
+capture_events 2
 review "$ch1,1" --abandon
 result_type "$GROUP" "$type"
 
 type=change-restored
-capture_events 4
+capture_events 3
 review "$ch1,1" --restore
 # Instead of timing out waiting for the filtered change-restored event,
 # create follow-on events and capture them to trigger completion.