[
https://issues.apache.org/jira/browse/OAK-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14001726#comment-14001726
]
Michael Dürig commented on OAK-1838:
------------------------------------
Specifically the problem is about {{NodeStore.merge}} taking a {{NodeBuilder}}
while later on any merge implementation would need to pass before and after
states to {{CommitHook#processCommit}}. The {{CommitHook}} implementations in
turn would usually create a {{NodeBuilder}} from the after state. At this point
the document node store and the kernel node store implementations have some
problems as the model builders with underlying branches and creating the second
builder would mean branching from a branch. See OAK-1056, which introduced an
immediate fix for the document node store and OAK-1682 which covers the same
issue for the kernel node store and which is still open.
> NodeStore API: divergence in contract and implementations
> ---------------------------------------------------------
>
> Key: OAK-1838
> URL: https://issues.apache.org/jira/browse/OAK-1838
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Reporter: Michael Dürig
>
> Currently there is a gap between what the API mandates and what the document
> and kernel node stores implement. This hinders further evolution of the Oak
> stack as implementers must always be aware of non explicit design
> requirements. We should look into ways we could close this gap by bringing
> implementation and specification closer towards each other.
--
This message was sent by Atlassian JIRA
(v6.2#6252)