[
https://issues.apache.org/jira/browse/OAK-1056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcel Reutegger updated OAK-1056:
----------------------------------
Attachment: OAK-1056.patch
There is indeed a problem. The updated patch contains a new test in
RepositoryTest. Somehow the jcr:primaryType property disappears after a purge
to the branch. Looks like the builders are not updated correctly.
> 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
> Assignee: Marcel Reutegger
> Priority: Blocker
> Fix For: 0.20
>
> Attachments: OAK-1056.patch, OAK-1056.patch
>
>
> 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)