[
https://issues.apache.org/jira/browse/CURATOR-477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16624960#comment-16624960
]
ASF GitHub Bot commented on CURATOR-477:
----------------------------------------
Github user dragonsinth commented on a diff in the pull request:
https://github.com/apache/curator/pull/278#discussion_r219688410
--- Diff:
curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
---
@@ -263,11 +281,20 @@ private void doRefreshData() throws Exception
{
if ( dataIsCompressed )
{
-
client.getData().decompressed().usingWatcher(this).inBackground(this).forPath(path);
+ if (createZkWatches) {
+
client.getData().decompressed().usingWatcher(this).inBackground(this).forPath(path);
+ } else {
+
client.getData().decompressed().inBackground(this).forPath(path);
+ }
--- End diff --
feel like this could all be a little cleaner with a maybeWatch() helper in
the class, e.g.
```
maybeWatch(client.getData().decompressed()).inBackground(this).forPath(path)
```
> Ability to turn off Zk Watches in Curator Framework
> ---------------------------------------------------
>
> Key: CURATOR-477
> URL: https://issues.apache.org/jira/browse/CURATOR-477
> Project: Apache Curator
> Issue Type: Improvement
> Components: Framework
> Affects Versions: 4.0.1
> Reporter: Rama Chavali
> Priority: Major
>
> In our use case, we use *{{TreeCache}}* to get Zk Data periodically. We start
> *{{TreeCache}}* read data and close it. In this use case, The
> {{ZkWatchManager}} of {{ZooKeeper}} class keeps growing for every TreeCache
> operation because new {{TreeNode}} objects are created and added there
> leading to a memory leak. Also since we do not want the Watcher to
> periodically watch, this creates unnecessary background operations.
> Can we introduce a builder flag in CuratorFramework's Builder some thing
> called "createZkWatches" that we can use to turn the watchers off? The
> default would be set to true to retain the current behaviour.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)