You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Jordan Zimmerman (JIRA)" <ji...@apache.org> on 2014/05/23 17:09:03 UTC

[jira] [Resolved] (CURATOR-105) Memory leak when using PathChildrenCache

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

Jordan Zimmerman resolved CURATOR-105.
--------------------------------------

    Resolution: Fixed

I did several tests using jmap and all the memory from the PathChildrenCaches is now cleared. Annoyingly, I don't understand why for some of this (clearing the instances watcher objects). There seems to be some kind of circular reference holding with Guava's cache.

> Memory leak when using PathChildrenCache
> ----------------------------------------
>
>                 Key: CURATOR-105
>                 URL: https://issues.apache.org/jira/browse/CURATOR-105
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Framework, Recipes
>    Affects Versions: 2.4.1, 2.4.2
>         Environment: Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
>            Reporter: Joe Littlejohn
>            Assignee: Jordan Zimmerman
>              Labels: discovery
>             Fix For: 2.5.0
>
>         Attachments: ServiceCacheLeakTest.java
>
>
> I've observed a memory leak in our production system using Curator service discovery.
> If you run the attached test case and watch the process with jvisualvm you'll see that the heap grows and grows as the test is running. Taking a heap dump will reveal thousands of ServiceInstance and ServiceCacheImpl instances that are retained even though the provider is closed after each usage. The references appear to be traced back to the PathChildrenCache. This appears to be a leak that shouldn't occur if the provider is correctly closed each time.
> There is also a heap dump available here:
> https://dl.dropboxusercontent.com/u/10909453/heapdump-curator-leak.hprof.tar.gz



--
This message was sent by Atlassian JIRA
(v6.2#6252)