[
https://issues.apache.org/jira/browse/OAK-1056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13948073#comment-13948073
]
Marcel Reutegger commented on OAK-1056:
---------------------------------------
I would rather keep this issue for both implementations. AFAICS the fix will
likely be in classes used by both the KernelNodeStore and DocumentNodeStore.
Both have their branch implementation based on AbstractNodeStoreBranch.
> Transient changes contributed by commit hooks are kept in memory
> ----------------------------------------------------------------
>
> Key: OAK-1056
> URL: https://issues.apache.org/jira/browse/OAK-1056
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Reporter: Michael Dürig
> Priority: Minor
>
> With the {{KernelNodeStore}}, transient changes contributed by commit hooks
> are currently kept in memory instead of being written ahead to the private
> branch. The reason for this is that we need to be able to undo such changes
> if a commit hook later in the process fails the commit. Doing this
> efficiently would need some support from the persistent layer. Either the
> ability for branching from a branch or the ability to roll back to a previous
> state.
> See the TODOs in {{KernelNodeState.builder()}}, which returns a
> MemoryNodeBuilder (instead of a KernelNodeBuilder when the current state is
> on a branch. This is the workaround to avoid branching form a branch and has
> the effect that commit hooks currently run against a MemoryNodeBuilder and
> limits the amount of changes commit hooks can add.
--
This message was sent by Atlassian JIRA
(v6.2#6252)