curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jordan Zimmerman (JIRA)" <>
Subject [jira] [Commented] (CURATOR-105) Memory leak when using PathChildrenCache
Date Wed, 14 May 2014 14:35:15 GMT


Jordan Zimmerman commented on CURATOR-105:

I've done some work on this, but there's more to do. The first problem is that Curator's internal
Watcher map is holding on to references. My current attempt at a fix is to add CuratorFramework.clearWatcherReferences().
My testing shows this clears most of the references. However, Guava's cache seems to be holding
onto additional references that I haven't figured out yet. Please have a look at the branch
CURATOR-105 and see if you can help on this.

> Memory leak when using PathChildrenCache
> ----------------------------------------
>                 Key: CURATOR-105
>                 URL:
>             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:
> 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:

This message was sent by Atlassian JIRA

View raw message