[
https://issues.apache.org/jira/browse/OAK-1945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14053731#comment-14053731
]
Jukka Zitting commented on OAK-1945:
------------------------------------
The {{merge()}} applies the transient changes *in the given builder* to the
repository, so passing a builder with no changes (like in the test case) will
result in a no-op commit. See OAK-659 for background.
I guess the best solution here is to just clarify the {{merge()}} javadocs to
make the contract clearer.
> SegmentMK #merge inconsistency
> ------------------------------
>
> Key: OAK-1945
> URL: https://issues.apache.org/jira/browse/OAK-1945
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core
> Reporter: Alex Parvulescu
> Attachments: MergeTest.java.patch
>
>
> The SegmentMK doesn't respect the #merge contract when there is a builder
> that has no local changes passed in.
> This popped-up while I was reworking the restore parts and with the new
> compaction code, the only option is to pass in a NodeState#Builder builder
> which is considered by the #merge method as a noop and therefore ignored.
--
This message was sent by Atlassian JIRA
(v6.2#6252)