[ https://issues.apache.org/jira/browse/OAK-3976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15739956#comment-15739956 ]
Vikas Saurabh commented on OAK-3976: ------------------------------------ While writing a few tests (specifically when force push happens), I realized that the patch above actually counts more that it truly should -- {{add(/foo) -> 2 paths (/, /foo) -> add(/bar) -> 4 paths (/, /foo, /, /bar)}}. Notice '/' got counted twice. But, as this is a preventive feature, I don't know if it is sufficient to warrant some refactor in {{JournalEntry.TreeNode#getOrCreateNode}} to somehow tell if it got created) to do the calculation correctly. /cc [~mreutegg] > journal should support large(r) entries > --------------------------------------- > > Key: OAK-3976 > URL: https://issues.apache.org/jira/browse/OAK-3976 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: documentmk > Affects Versions: 1.3.14 > Reporter: Stefan Egli > Assignee: Vikas Saurabh > Fix For: 1.6, 1.5.16 > > > Journal entries are created in the background write. Normally this happens > every second. If for some reason there is a large delay between two > background writes, the number of pending changes can also accumulate. Which > can result in (arbitrary) large single journal entries (ie with large {{_c}} > property). > This can cause multiple problems down the road: > * journal gc at this point loads 450 entries - and if some are large this can > result in a very large memory consumption during gc (which can cause severe > stability problems for the VM, if not OOM etc). This should be fixed with > OAK-3001 (where we only get the id, thus do not care how big {{_c}} is) > * before OAK-3001 is done (which is currently scheduled after 1.4) what we > can do is reduce the delete batch size (OAK-3975) > * background reads however also read the journal entries and even if > OAK-3001/OAK-3975 are implemented the background read can still cause large > memory consumption. So we need to improve this one way or another. -- This message was sent by Atlassian JIRA (v6.3.4#6332)