Return-Path: X-Original-To: apmail-curator-dev-archive@minotaur.apache.org Delivered-To: apmail-curator-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C357D10D2A for ; Thu, 2 May 2013 11:24:43 +0000 (UTC) Received: (qmail 18663 invoked by uid 500); 2 May 2013 11:24:43 -0000 Delivered-To: apmail-curator-dev-archive@curator.apache.org Received: (qmail 18613 invoked by uid 500); 2 May 2013 11:24:42 -0000 Mailing-List: contact dev-help@curator.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@curator.incubator.apache.org Delivered-To: mailing list dev@curator.incubator.apache.org Received: (qmail 18567 invoked by uid 99); 2 May 2013 11:24:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 May 2013 11:24:40 +0000 X-ASF-Spam-Status: No, hits=-2002.4 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 02 May 2013 11:24:37 +0000 Received: (qmail 18032 invoked by uid 99); 2 May 2013 11:24:16 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 May 2013 11:24:16 +0000 Date: Thu, 2 May 2013 11:24:16 +0000 (UTC) From: "Ioannis Canellos (JIRA)" To: dev@curator.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CURATOR-14) Memory leak in Curator watches MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CURATOR-14?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13647447#comment-13647447 ] Ioannis Canellos commented on CURATOR-14: ----------------------------------------- I tried the suggested approach about caching watchers and it seems to work. The only problem is providing a working equals() and hashCode() for the Watchers implemented as anonymous inner classes. So I think that something like a CacheableWatcher that could provide an impl of these two based on a key property could reduce the boilerplate. If no one is already working on it I could provide a patch. > 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 > Reporter: Brandon Beck > Assignee: Jordan Zimmerman > Priority: Minor > Attachments: 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