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

Marcel Reutegger edited comment on OAK-1056 at 3/26/14 4:08 PM:
----------------------------------------------------------------

This is not quite correct. The DocumentNodeStore implementation currently also 
keeps changes contributed by commit hooks in memory. But I think it should be 
possible to persist them to the branch and use the reset method when necessary.


was (Author: mreutegg):
This is not quite correct. The DocumentNodeStore implementation currently also 
keeps changes contributed by commit hooks in memory.

> 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)

Reply via email to