diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index 967f8dc..efe7780 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -16,8 +16,8 @@
 
     maven_jar(
         name = "events-broker",
-        artifact = "com.gerritforge:events-broker:3.4.0.4",
-        sha1 = "8d361d863382290e33828116e65698190118d0f1",
+        artifact = "com.gerritforge:events-broker:3.5.0-alpha-202108041529",
+        sha1 = "309fe8cc08c46593d9990d4e5c448cc85e5a62b0",
     )
 
     maven_jar(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCache.java b/src/main/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCache.java
index a0d9218..d7255e2 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCache.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCache.java
@@ -88,7 +88,7 @@
 
   protected void processMessage(Event message) {
     if (!WebSessionEvent.TYPE.equals(message.getType())) {
-      logger.atWarning().log("Skipping web session message of unknown type:{}", message.getType());
+      logger.atWarning().log("Skipping web session message of unknown type: %s", message.getType());
       return;
     }
 
@@ -107,7 +107,7 @@
           }
 
         } catch (IOException | ClassNotFoundException e) {
-          logger.atSevere().withCause(e).log("Malformed event '%s': [Exception: %s]", message);
+          logger.atSevere().withCause(e).log("Malformed event '%s'", message);
         }
         break;
       case REMOVE:
@@ -117,7 +117,7 @@
         break;
       default:
         logger.atWarning().log(
-            "Skipping web session message of unknown operation type:{}", event.operation);
+            "Skipping web session message of unknown operation type: %s", event.operation);
         break;
     }
   }
@@ -282,7 +282,7 @@
             MoreExecutors.directExecutor());
       } catch (IOException e) {
         logger.atSevere().withCause(e).log(
-            "Cannot serialize event for account id '%s': [Exception: %s]", value.getAccountId());
+            "Cannot serialize event for account id '%s'", value.getAccountId());
       }
     }
   }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCacheTest.java b/src/test/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCacheTest.java
index c8afe82..833d0f8 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCacheTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/websession/broker/BrokerBasedWebSessionCacheTest.java
@@ -51,7 +51,8 @@
 
   private static final int DEFAULT_ACCOUNT_ID = 1000000;
   private static final String KEY = "aSceprtma6B0qZ0hKxXHvQ5iyfUhCcFXxG";
-  private static Val VAL = FakeWebSessionVal.getVal(Account.id(1), ExternalId.Key.parse("foo:bar"));
+  private static Val VAL =
+      FakeWebSessionVal.getVal(Account.id(1), ExternalId.Key.parse("foo:bar", true));
   private static final String PLUGIN_NAME = "websession-broker";
 
   private byte[] emptyPayload = new byte[] {-84, -19, 0, 5, 112};
