[ https://issues.apache.org/jira/browse/OAK-3007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14616306#comment-14616306 ]
Michael Dürig edited comment on OAK-3007 at 7/7/15 7:22 AM: ------------------------------------------------------------ A problem I encountered with the patch is {{FileStore#FileStore(File, NodeState, int)}} throwing an {{IAE}}. That constructor should create a {{FileStore}} without cache. So far it did so by specifying a cache size of 0 to the {{SegmentTracker}}. With the LIRS cache this stopped working. Just run {{CompactionAndCleanupTest#propertyRetention}} to see this. was (Author: mduerig): A problem I encountered with the patch is {{FileStore#FileStore(java.io.File, org.apache.jackrabbit.oak.spi.state.NodeState, int)}} throwing an {{ISAE}}. That constructor should create a {{FileStore}} without cache. So far it did so by specifying a cache size of 0 to the {{SegmentTracker}}. With the LIRS cache this stopped working. Just run {{CompactionAndCleanupTest#propertyRetention}} to see this. > SegmentStore cache does not take "string" map into account > ---------------------------------------------------------- > > Key: OAK-3007 > URL: https://issues.apache.org/jira/browse/OAK-3007 > Project: Jackrabbit Oak > Issue Type: Bug > Components: segmentmk > Reporter: Thomas Mueller > Fix For: 1.3.3 > > Attachments: OAK-3007-2.patch, OAK-3007.patch > > > The SegmentStore cache size calculation ignores the size of the field > Segment.string (a concurrent hash map). It looks like a regular segment in a > memory mapped file has the size 1024, no matter how many strings are loaded > in memory. This can lead to out of memory. There seems to be no way to limit > (configure) the amount of memory used by strings. In one example, 100'000 > segments are loaded in memory, and 5 GB are used for Strings in that map. > We need a way to configure the amount of memory used for that. This seems to > be basically a cache. OAK-2688 does this, but it would be better to have one > cache with a configurable size limit. -- This message was sent by Atlassian JIRA (v6.3.4#6332)