jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Comment Edited] (OAK-3007) SegmentStore cache does not take "string" map into account
Date Tue, 07 Jul 2015 07:23:05 GMT

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

Mime
View raw message