[ https://issues.apache.org/jira/browse/OAK-6106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig resolved OAK-6106. -------------------------------- Resolution: Not A Bug Fix Version/s: (was: 1.7.0) (was: 1.8) "Fixed" again by reverting the previous "fix" at http://svn.apache.org/viewvc?rev=1792595&view=rev Turns out that this was a test artefact by trying to use a zero size segment cache for which invalidation of segments does not work properly. When reverting to the default size of the segment cache {{ManyChildNodesIT}} passes. To further manually verify this I used {{ManyChildNodesIT.manyChildNodes()}} to add 20M siblings to a node and observed heap usage: the heap stayed stable at around 1.5G with an average GC activity of 1%. > Excessive memory usage by the cached segment references > ------------------------------------------------------- > > Key: OAK-6106 > URL: https://issues.apache.org/jira/browse/OAK-6106 > Project: Jackrabbit Oak > Issue Type: Bug > Components: segment-tar > Reporter: Michael Dürig > Assignee: Michael Dürig > Labels: perfomance > Attachments: OAK-6106.patch > > > The references of a segment to other segments are cached within > {{Segment.readReferencedSegments()}}. However caching the {{SegmentId}} > instances themselves leads to excessive heap usage as each id also keeps a > reference to its underlying segment. > I suggest to cache those references as msb, lsb pairs instead and create the > {{SegmentId}} instance on the fly when required. -- This message was sent by Atlassian JIRA (v6.3.15#6346)