[ https://issues.apache.org/jira/browse/ACCUMULO-1379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13763919#comment-13763919 ]
John Vines edited comment on ACCUMULO-1379 at 9/11/13 3:33 AM: --------------------------------------------------------------- I had no intention of implementing a finalize(). I think if users want to close it properly, then they need to retain the object and close it themselves. I think that's a reasonable requirement. Although, if we really wanted to, we could just keep refs to Instance propagated throughout the entire client object set, but that seems ugly. was (Author: vines): I had no intention of implementing a finalize(). I think if users want to close it properly, then they need to retain the object and close it themselves. I think that's a reasonable requirement. > PermGen leak > -------------- > > Key: ACCUMULO-1379 > URL: https://issues.apache.org/jira/browse/ACCUMULO-1379 > Project: Accumulo > Issue Type: Bug > Components: client > Affects Versions: 1.4.3, 1.5.0 > Environment: Linux/JBoss > Reporter: Mike Giordano > Assignee: John Vines > Fix For: 1.6.0 > > Attachments: ACCUMULO-1379.patch, ACCUMULO-1379_v2.patch > > > Under version 1.3.7 we are using the following code to initialize a cloudbase > connection during initialization of our web app: > ZooKeeperInstance instance = new > ZooKeeperInstance(instanceName, zooKeepers); > connector = instance.getConnector(userId, > password.getBytes()); > The problem is that under the hood, this call creates several threads that > are not cleaned up when the app is undeployed in JBoss. This is occurring > without performing any scans or interacting with cloudbase in any other way. > After relatively few redeploys of the app, the PermGen Space is OOM. > I can't find any reference in the cloudbase API akin to a close() method for > the Connector object. This is a classloader leak effecting any webapp that is > accessing cloudbase directly. The result of this leak is not simply orphaned > threads, but thousands of classes not gc'd because the classloader itself > can't be gc'd. This is what is filling up PermGen. -- 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