[ https://issues.apache.org/jira/browse/ACCUMULO-1697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13760584#comment-13760584 ]
John Stoneham commented on ACCUMULO-1697: ----------------------------------------- Agreed, from an API perspective. The actual ZooKeeper objects, though, are all statically cached and shared across all ZooKeeperInstances, where the key is the tuple (String keepers, int timeout, String scheme, byte[] auth). We'd either have to reference-count, provide for shutting down all of them at once, or remove that caching. > Thread leaks in Tomcat on hot-redeploy > -------------------------------------- > > Key: ACCUMULO-1697 > URL: https://issues.apache.org/jira/browse/ACCUMULO-1697 > Project: Accumulo > Issue Type: Bug > Affects Versions: 1.4.0 > Reporter: John Stoneham > Priority: Minor > > Testing on 1.3.7 cluster with Tomcat and redeploying my web app by 'touch'ing > the .war file. > In catalina.out: > Sep 06, 2013 4:46:38 PM org.apache.catalina.startup.HostConfig > deleteRedeployResources > INFO: Undeploying context [/myapp] > Sep 06, 2013 4:46:48 PM org.jboss.modcluster.ModClusterService drainSessions > WARN: Failed to drain pending requests from context [/myapp] within specified > timeout: 10 seconds > Sep 06, 2013 4:46:48 PM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application [/myapp] appears to have started a thread named > [localhost-startStop-6-SendThread(r03sv04:2181)] but has failed to stop it. > This is very likely to create a memory leak. > Sep 06, 2013 4:46:48 PM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application [/myapp] appears to have started a thread named > [localhost-startStop-6-EventThread] but has failed to stop it. This is very > likely to create a memory leak. > Sep 06, 2013 4:46:48 PM org.apache.catalina.loader.WebappClassLoader > clearReferencesThreads > SEVERE: The web application [/myapp] appears to have started a thread named > [Thrift Connection Pool Checker] but has failed to stop it. This is very > likely to create a memory leak. > I can't easily re-test this on a 1.4 or 1.5 cluster at this time, but I > examined the current code in ThriftTransportPool regarding the third message. > No reference is kept to the Daemon instance, so it's never stopped. This is > normally not a problem in JVMs because daemon threads are interrupted > automatically at JVM shutdown, but this is a problem for hot-redeploys in > Tomcat. > It would be nice to have a call to shut down the Thrift checker thread. For > the ZooKeeper threads, we should be able to call ClientCnxn.close() by > calling ZooKeeper.close(), but the ZooKeepers are locked up in > ZooSession.sessions and can't be closed directly. -- 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