You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "tokoot (JIRA)" <ji...@apache.org> on 2013/03/15 08:26:12 UTC

[jira] [Created] (ZOOKEEPER-1668) “Memory leak” about permgen

tokoot created ZOOKEEPER-1668:
---------------------------------

             Summary: “Memory leak” about permgen
                 Key: ZOOKEEPER-1668
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1668
             Project: ZooKeeper
          Issue Type: Improvement
          Components: jmx, server
    Affects Versions: 3.3.5
            Reporter: tokoot


For each connection, a ConnectionBean will be created to represent this connection at finishSessionInit:
  | ... 
  | jmxConnectionBean = new ConnectionBean(this, zk);
  | MBeanRegistry.getInstance().register(jmxConnectionBean, zk.jmxServerBean);
  || ...
  || ObjectName oname = makeObjectName(path, bean);
  ||| ...
  |||  return new ObjectName(beanName.toString());
  |||| ...
  |||| _canonicalName = (new String(canonical_chars, 0, prop_index)).intern();

So, for every connection, it takes dozens of bytes at permgen. With connection established constantly, the usage of permgen will increase continuously.

Is it reasonable or necessary to manage each connection with ConnectionBean?

--
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