Marcel Reutegger created JCR-3374: ------------------------------------- Summary: Size estimate for AbstractBundlePersistenceManager.MISSING is too low Key: JCR-3374 URL: https://issues.apache.org/jira/browse/JCR-3374 Project: Jackrabbit Content Repository Issue Type: Bug Components: jackrabbit-core Affects Versions: 2.5, 2.4, 2.3, 2.2, 2.1.2, 2.0.3 Reporter: Marcel Reutegger Priority: Minor
A heap dump from a Jackrabbit 2.2 based system recently showed that the ConcurrentCache of the bundle persistence managers used a lot more memory than configured. One of them used 10 times the configured bundle size. It turned out that the majority of the cache entries referenced AbstractBundlePersistenceManager.MISSING. The size estimate of 16 bytes is too low and does not account for the overhead that comes with the internal LinkedHashMap of the ConcurrentCache. I think a more sensible value is 128 bytes, which is the sum of: - 32 bytes for ConcurrentCache.E - 64 bytes for LinkedHashMap.Entry - 32 bytes for NodeId The unified cache, which also includes missing NodePropBundle entries was introduced with JCR-2699. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira