[
https://issues.apache.org/jira/browse/OAK-8489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16891797#comment-16891797
]
Julian Reschke commented on OAK-8489:
-------------------------------------
Seems that (outside the DS wrappers and test code) the only instance that uses
the return value is in "Commit.applyToDocumentStore()". If the other cases are
performance relevant, we may really want to introduce a new signature.
> Reduce memory usage of in-memory commit
> ---------------------------------------
>
> Key: OAK-8489
> URL: https://issues.apache.org/jira/browse/OAK-8489
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: documentmk
> Reporter: Marcel Reutegger
> Assignee: Marcel Reutegger
> Priority: Minor
> Fix For: 1.16.0
>
>
> The memory usage of an in-memory commit currently depends on the number of
> modified nodes and the structure of modified documents. The first is limited
> by the updateLimit on the DocumentNodeStateBuilder. When the updateLimit is
> reached, the changes are pushed to a branch. The structure of the modified
> documents comes into play, when those documents have a rather high memory
> usage. The current commit implementation performs the update in a single call
> to {{DocumentStore.createOrUpdate()}}, which has a return type of
> {{List<Document>}}. The returned list contains the documents as they looked
> before the update. With a default of 100'000 as the updateLimit and heavy
> weight modified Documents, this can result in a high memory usage.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)