This is an automated email from the ASF dual-hosted git repository.
xyuanlu pushed a commit to branch metaclient
in repository https://gitbox.apache.org/repos/asf/helix.git
The following commit(s) were added to refs/heads/metaclient by this push:
new 34ec3c6c9 Skip one time listener re-register for exists for ZkClient -
MetaClient usage. (#2637)
34ec3c6c9 is described below
commit 34ec3c6c977241cff722ddb047b3d2381d1610d5
Author: xyuanlu <[email protected]>
AuthorDate: Tue Sep 26 23:54:37 2023 -0700
Skip one time listener re-register for exists for ZkClient - MetaClient
usage. (#2637)
---
.../org/apache/helix/metaclient/impl/zk/TestZkMetaClient.java | 10 +++++++++-
.../java/org/apache/helix/zookeeper/zkclient/ZkClient.java | 2 +-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git
a/meta-client/src/test/java/org/apache/helix/metaclient/impl/zk/TestZkMetaClient.java
b/meta-client/src/test/java/org/apache/helix/metaclient/impl/zk/TestZkMetaClient.java
index 19f21977b..86edbf8eb 100644
---
a/meta-client/src/test/java/org/apache/helix/metaclient/impl/zk/TestZkMetaClient.java
+++
b/meta-client/src/test/java/org/apache/helix/metaclient/impl/zk/TestZkMetaClient.java
@@ -517,12 +517,20 @@ public class TestZkMetaClient extends
ZkMetaClientTestBase{
throws Exception {
}
};
- zkMetaClient.subscribeDataChange(basePath, listener, false);
+ DirectChildChangeListener cldListener = new DirectChildChangeListener() {
+
+ @Override
+ public void handleDirectChildChange(String key) throws Exception {
+
+ }
+ };
+ zkMetaClient.subscribeDataChange(basePath, listener, true);
zkMetaClient.create(basePath, "");
zkMetaClient.get(basePath);
zkMetaClient.exists(basePath);
zkMetaClient.getDataAndStat(basePath);
zkMetaClient.getDirectChildrenKeys(basePath);
+ zkMetaClient.subscribeDirectChildChange(basePath, cldListener, true);
}
}
diff --git
a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkClient.java
b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkClient.java
index 2a06158d0..110587e09 100644
---
a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkClient.java
+++
b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkClient.java
@@ -1474,7 +1474,7 @@ public class ZkClient implements Watcher {
}
public boolean exists(final String path) {
- return exists(path, hasChildOrDataListeners(path));
+ return exists(path, (!_usePersistWatcher) &&
hasChildOrDataListeners(path));
}
protected boolean exists(final String path, final boolean watch) {