This is an automated email from the ASF dual-hosted git repository. amichair pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/aries-rsa.git
commit 8e1280570bec01ffd6f3acc89f06e87a321c6f02 Author: Amichai Rothman <[email protected]> AuthorDate: Wed Apr 1 12:24:46 2026 +0300 ARIES-2201 Fix ZookeeperEndpointListener continuing to handle events after being closed --- .../discovery/zookeeper/client/ZookeeperEndpointListener.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/client/ZookeeperEndpointListener.java b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/client/ZookeeperEndpointListener.java index a2ce6e6b..beaab10d 100644 --- a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/client/ZookeeperEndpointListener.java +++ b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/client/ZookeeperEndpointListener.java @@ -46,12 +46,10 @@ public class ZookeeperEndpointListener implements Closeable { private static final Logger LOG = LoggerFactory.getLogger(ZookeeperEndpointListener.class); private Map<String, EndpointDescription> endpoints = new ConcurrentHashMap<>(); - private ZooKeeper zk; - private EndpointDescriptionParser parser; - private Consumer<EndpointEvent> listener; + private volatile boolean closed; ZookeeperEndpointListener(ZooKeeper zk, EndpointDescriptionParser parser, Consumer<EndpointEvent> listener) { this.zk = zk; @@ -66,11 +64,14 @@ public class ZookeeperEndpointListener implements Closeable { @Override public void close() { - // TODO unregister watchers + closed = true; endpoints.clear(); } private void process(WatchedEvent event) { + if (closed) { + return; + } String path = event.getPath(); LOG.info("Received event {}", event); switch (event.getType()) {
