curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joe Littlejohn (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CURATOR-286) Memory leak in service discovery
Date Mon, 11 Jan 2016 12:40:40 GMT

     [ https://issues.apache.org/jira/browse/CURATOR-286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Joe Littlejohn updated CURATOR-286:
-----------------------------------
    Attachment: ServiceCacheLeakTester.java

Modified LeakTester that I used to reproduce the problem on a small scale.

> Memory leak in service discovery
> --------------------------------
>
>                 Key: CURATOR-286
>                 URL: https://issues.apache.org/jira/browse/CURATOR-286
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Recipes
>    Affects Versions: 2.9.1
>            Reporter: Joe Littlejohn
>            Priority: Critical
>         Attachments: ServiceCacheLeakTester.java, curator-286.hprof.tar.gz
>
>
> Hi
> I'm seeing a memory leak in my application which makes use of service discovery.
> I've taken heap dumps and I see:
> * Hundreds of thousands of NamespaceWatcher instances. The client, actualWatcher and
curatorWatcher fields are all null, so these are closed NamespaceWatchers.
> * Thousands of PathChildrenCache instances. Each one has a 'path' value that refers to
one of the services I'm lookup up (using a service provider). The state fields shows that
all these PathChildrenCache instances are CLOSED.
> In my application I'm using a service provider to get an instance, then closing that
service provider. It seems that even after doing this, there's still a reference to the NamespaceWatcher
held in ZKWatchManager field childWatches (and this refers to the the PathChildrenCache.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message