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

Reply via email to