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

Reply via email to