Chetan Mehrotra created OAK-1760:
------------------------------------

             Summary: RepositoryUpgrade leads to one large commit with 
DocumentNodeStore causing OOM
                 Key: OAK-1760
                 URL: https://issues.apache.org/jira/browse/OAK-1760
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: mongomk, upgrade
    Affects Versions: 0.20
            Reporter: Chetan Mehrotra


RepositoryUpgrade logic currently creates when migrating content from JR2 to 
Oak currently creates a one large commit. This causes issue with 
DocumentNodeStore as all the commit state is maintained in memory in 
Commit#operations variable which leads to OOM when source repository content is 
large.

On Analyzing the heap dump it can be seen that 
{{o.a.j.o.plugins.document.Commit#operations}} map contains large number of 
UpdateOp entries. These entries are created due to the diff being performed in 
{{o.a.j.o.plugins.document.DocumentNodeStoreBranch#persist}} which traverse 
down the whole tree (source being JR2 tree) and captures the diff as UpdateOp. 
As commit does not get applied till whole diff is complete the in memory state 
is proportional to repository size 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to