[ 
https://issues.apache.org/jira/browse/OAK-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14341522#comment-14341522
 ] 

Stefan Egli commented on OAK-2557:
----------------------------------

Here's a stacktrace that keeps showing up when this particular VM is running 
into low memory/full-gc-loops:

{code}
"pool-5-thread-5" prio=10 tid=0x0000000001413800 nid=0x1aa5 runnable 
[0x00007f247599f000]
   java.lang.Thread.State: RUNNABLE
        at java.util.HashMap.addEntry(HashMap.java:884)
        at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:427)
        at java.util.HashMap.put(HashMap.java:505)
        at org.bson.BasicBSONObject.put(BasicBSONObject.java:288)
        at org.bson.BasicBSONCallback._put(BasicBSONCallback.java:184)
        at org.bson.BasicBSONCallback.gotLong(BasicBSONCallback.java:132)
        at org.bson.BasicBSONDecoder.decodeElement(BasicBSONDecoder.java:222)
        at org.bson.BasicBSONDecoder._decode(BasicBSONDecoder.java:154)
        at org.bson.BasicBSONDecoder.decode(BasicBSONDecoder.java:132)
        at com.mongodb.DefaultDBDecoder.decode(DefaultDBDecoder.java:62)
        at com.mongodb.Response.<init>(Response.java:85)
        at com.mongodb.DBPort$1.execute(DBPort.java:141)
        at com.mongodb.DBPort$1.execute(DBPort.java:135)
        at com.mongodb.DBPort.doOperation(DBPort.java:164)
        - locked <0x000000064f6049d0> (a com.mongodb.DBPort)
        at com.mongodb.DBPort.call(DBPort.java:135)
        at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:292)
        at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:271)
        at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:237)
        at com.mongodb.QueryResultIterator.getMore(QueryResultIterator.java:137)
        at com.mongodb.QueryResultIterator.hasNext(QueryResultIterator.java:127)
        at com.mongodb.DBCursor._hasNext(DBCursor.java:551)
        at com.mongodb.DBCursor.hasNext(DBCursor.java:571)
        at 
com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:43)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector.collectDeletedDocuments(VersionGarbageCollector.java:95)
        at 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector.gc(VersionGarbageCollector.java:79)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService$2.run(DocumentNodeStoreService.java:472)
        at 
org.apache.jackrabbit.oak.spi.state.RevisionGC$1.call(RevisionGC.java:68)
        at 
org.apache.jackrabbit.oak.spi.state.RevisionGC$1.call(RevisionGC.java:64)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
{code}

> VersionGC uses way too much memory if there is a large pile of garbage
> ----------------------------------------------------------------------
>
>                 Key: OAK-2557
>                 URL: https://issues.apache.org/jira/browse/OAK-2557
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, mongomk
>    Affects Versions: 1.0.11
>            Reporter: Stefan Egli
>
> It has been noticed that on a system where revision-gc 
> (VersionGarbageCollector of mongomk) did not run for a few days (due to not 
> interfering with some tests/large bulk operations) that there was such a 
> large pile of garbage accumulating, that the following code
> {code}
> VersionGarbageCollector.collectDeletedDocuments
> {code}
> in the for loop, creates such a large list of NodeDocuments to delete 
> (docIdsToDelete) that it uses up too much memory, causing the JVM's GC to 
> constantly spin in Full-GCs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to