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

Tobias Bocanegra commented on OAK-1541:
---------------------------------------

the conflict is generated in 
{{org.apache.jackrabbit.oak.spi.state.AbstractRebaseDiff#childNodeAdded}}:

{code}
    public boolean childNodeAdded(String name, NodeState after) {
        if (builder.hasChildNode(name)) {
            NodeState other = builder.child(name).getNodeState();
            addExistingNode(builder, name, other, after);
        } else {
            builder.setChildNode(name, after);
        }
        return true;
    }
{code}

IMO, the merge should be smart and not conflict if the 2 added nodes are 
identical.

> Concurrent creation of users chokes on intermediate paths
> ---------------------------------------------------------
>
>                 Key: OAK-1541
>                 URL: https://issues.apache.org/jira/browse/OAK-1541
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>            Reporter: Tobias Bocanegra
>
> The tests in 
> {{org.apache.jackrabbit.oak.security.authentication.ldap.LdapLoginTestBase#testConcurrentLogin}}
>  fail because of a conflict when creating the intermediate nodes, although 
> they are identical for all concurrent updates.
> strange enough, the error is completely different:
> "Cannot create user/group: Intermediate folders must be of type
> rep:AuthorizableFolder."
> this is reported on the "addExistingNode" parent, because the User validator 
> traverses up the following tree:
> "/rep:security/rep:authorizables/rep:users/:conflict/addExistingNode/u/us/user-5"



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to