[
https://issues.apache.org/jira/browse/CURATOR-14?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ioannis Canellos updated CURATOR-14:
------------------------------------
Attachment: CURATOR-14-draft-3.patch
This is the 3rd draft and hopefully final(?) version of the patch.
The patch adds a WatcherPool for pooling NamespaceWatchers. The
NamespaceWatcherMap is being backed by the WatcherPool: It pulls
NamespaceWatcher instances from the pool when creates new mappings.
Upon removal of a mapping the NamespaceWatcher (if not garbage collected is
returned to the pool).
Recipes allocate NamespaceWatchers from the map and remove them from the map
when no longer needed.
> Memory leak in Curator watches
> ------------------------------
>
> Key: CURATOR-14
> URL: https://issues.apache.org/jira/browse/CURATOR-14
> Project: Apache Curator
> Issue Type: New Feature
> Components: Recipes
> Affects Versions: 2.0.0-incubating
> Reporter: Brandon Beck
> Assignee: Jordan Zimmerman
> Priority: Minor
> Fix For: 2.0.2-incubating
>
> Attachments: CURATOR-14-draft-2.patch, CURATOR-14-draft-3.patch,
> CURATOR-14.patch, MemoryTest.java
>
>
> The JVM runs out of memory if you repetitively create a PathChildrenCache,
> start it then immediately stop it. It appears that the memory is taken up by
> a watch that isn't ever cleaned up. Curator attempts to do some pooling of
> watches, but doesn't seem to use the path in the pooling.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira