[
https://issues.apache.org/jira/browse/JCR-937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537289
]
Ard Schrijvers commented on JCR-937:
------------------------------------
"Is the Lucene memory consumption due to the extremely long String properties,
or has it to do with the test setup? "
No, this is not because of long String properties, and yes, it is closely
related to the test setup. You are storing nodes of roughly 1 Mb, right? Now,
depending on your SearchIndex configuration, for example volatileIdleTime (how
long before a memory index is flushed to disk) , bufferSize (maximum number of
documents that are held in a pending queue until added to the index),
minMergeDocs etc etc, it depends how large the memory lucene index will be
(VolatileIndex). I really think the OOM is part of the way you have done the
setup. If for example, you would replace the 1Mb String of 'aaaaa....' to a
random piece of text of 1 Mb, the lucene indexing would take much longer, hence
the memory index wouldn't be able to grow that large, because volatileIdleTime
will be reached ealier and memory index will be persisted.
> CacheManager max memory size
> ----------------------------
>
> Key: JCR-937
> URL: https://issues.apache.org/jira/browse/JCR-937
> Project: Jackrabbit
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 1.3
> Reporter: Xiaohua Lu
> Assignee: Thomas Mueller
> Priority: Minor
> Attachments: CacheManagerTest.java
>
>
> I have ran into OutOfMemory a couple of times with Jackrabbit (cluster, 4
> nodes, each has 1G mem heap size).
> After adding some debug into the CacheManager, I noticed that maxMemorySize
> (default to 16M) is not really honored during resizeAll check. Each
> individual MLRUItemStateCache seems to honor the size, but the total
> number/size of MLRUItemStateCache is not. If you put some print statement of
> totalMemoryUsed and unusedMemory, you can see that totalMemoryUsed is more
> than 16M and unusedMemory is negative.
> The other problem we have noticed during the profiling is there are a lots of
> other in memory objects that are consuming memory but not included in
> CacheManager caches control. One example is CachingHierarchyManager which
> consumed 58M out of 242M through its use of PathMap. If CacheManager's
> maxSize can control the total cache size used by Jackrabbit, that would be
> easier from a management's perspective. (btw, upper_limit in
> CachingHierarchyManager is hardcoded and can't be control from outside)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.