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

        

Reply via email to