You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2015/03/30 09:50:53 UTC

[jira] [Commented] (OAK-2673) Resolve add-add, delete-delete merge conflict for empty hidden docs

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

Marcel Reutegger commented on OAK-2673:
---------------------------------------

Thanks for the patch. I have some suggestions for improvements:

I think it would be better to move {{NodeDocument.isHiddenPath()}} to
the {{Utils}} class. Couldn't we just simplify the the check by doing
a {{path.contains("/:")}}? This would avoid splitting the path into
elements.

The call to {{allowConflictingDeleteChange()}} is done for each entry
in the local deleted map. It would be better to just do it once outside
of the for loop. The local variable {{newerDeleted}} should be turned
into a primitive type. 

You can turn {{allowConflictingDeleteChange()}} into non-static method. It
is private and only called within the context of this document. This way
the document parameter can be removed as well.


> Resolve add-add, delete-delete merge conflict for empty hidden docs
> -------------------------------------------------------------------
>
>                 Key: OAK-2673
>                 URL: https://issues.apache.org/jira/browse/OAK-2673
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: mongomk
>            Reporter: Vikas Saurabh
>             Fix For: 1.4
>
>         Attachments: OAK-2673-HiddenNodeSameNameMergeConflict.patch
>
>
> While OAK-1550 is about general fix for resolving same node merge conflicts. But until general issue is fixed, we should special case for hidden nodes (e.g. index sub-tree).
> Discussed offline with [~mreutegg] and [~chetanm] about handling merge conflict for hidden nodes. Main concern to not resolve the conflict seemed to be observation (specifying/declaring what events reach which clients). For hidden nodes, observation isn't a concern. Along with that, in heavy write scenarios there are some cases (I'm aware of property index updates) which often cause conflicts -- thereby wasting some time during merge attempts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)