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

Alex Deparvu commented on OAK-3374:
-----------------------------------

bq. updated patch containing the proposed extension of the SecurityConfiguration
+1 looks good!

bq. but i still have a somewhat bad feeling regarding the {{Conflicthandler}}s 
that apparently needed to be inserted at the right point in the Oak setup.
yes, I think we'll have to clarify that as a part of OAK-3382

> Concurrent Updates of Group's Membership Results in Conflict
> ------------------------------------------------------------
>
>                 Key: OAK-3374
>                 URL: https://issues.apache.org/jira/browse/OAK-3374
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.3.5
>            Reporter: Dominique Jäggi
>            Assignee: Alex Deparvu
>         Attachments: OAK-3374-2.patch, 
> OAK-3374_-_Concurrent_Updates_of_Group_s_Membership_Results_in_Conflict.patch,
>  OAK-3374.patch
>
>
> when concurrently updating the _rep:members_ property of a group principal, a 
> merge conflict occurs:
> {noformat}
> Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakState0001: 
> Unresolved conflicts in /home/groups/a/administrators
>       at 
> org.apache.jackrabbit.oak.plugins.commit.ConflictValidator.failOnMergeConflict(ConflictValidator.java:84)
>       at 
> org.apache.jackrabbit.oak.plugins.commit.ConflictValidator.propertyChanged(ConflictValidator.java:60)
>       at 
> org.apache.jackrabbit.oak.spi.commit.CompositeEditor.propertyChanged(CompositeEditor.java:91)
>       at 
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.propertyChanged(EditorDiff.java:93)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:596)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:456)
>       at 
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:418)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
>       at 
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:418)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
>       at 
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:418)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
>       at 
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:487)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:583)
>       at 
> org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:52)
>       at 
> org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:54)
>       at 
> org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:61)
>       at 
> org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:61)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.prepare(SegmentNodeStore.java:405)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.optimisticMerge(SegmentNodeStore.java:428)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.execute(SegmentNodeStore.java:484)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.merge(SegmentNodeStore.java:162)
>       at 
> org.apache.jackrabbit.oak.spi.state.ProxyNodeStore.merge(ProxyNodeStore.java:43)
>       at 
> org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:247)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:313)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:459)
>       ... 77 common frames omitted
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to