[ 
https://issues.apache.org/jira/browse/JCR-2598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12855414#action_12855414
 ] 

Stefan Guggisberg commented on JCR-2598:
----------------------------------------

thanks fr the patch!

> - Because it is difficult determine all the causes (multiple 
> ItemStateManagers and locking) I propose to do a final consistency check on 
> the ChangeLog in the SharedItemStateManager and to throw an exception if an 
> inconsistency is detected.

what is the performance impact of the proposed change? i am somehow concerned 
that write performance would suffer significantly.

> - A race condition is exists when moving and deleting nodes with the same 
> name. The index passed to removeChildNode(Name nodeName, int index) may not 
> be valid anymore because another session deleted or moved another child node. 
> Instead of using name + index use id to make sure that the correct node is 
> removed.

looks good


> Saving concurrent sessions executing random operations causes a corrupt JCR
> ---------------------------------------------------------------------------
>
>                 Key: JCR-2598
>                 URL: https://issues.apache.org/jira/browse/JCR-2598
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.6.1, 2.0.0
>            Reporter: Stephan Huttenhuis
>         Attachments: JCR-2598.patch, 
> org.apache.jackrabbit.core.ConcurrencyTest3.txt, Output after patch.txt, 
> Output before patch.txt
>
>
> Run the attached unit test. Several concurrent sessions add, move, and remove 
> nodes. Then the index is removed and the repository is again started. The 
> repository is in an inconsistent state and the index cannot be rebuild. Also 
> a lot of exceptions occur. See (see Output before patch.txt). Note that the 
> unit test also suffers from the deadlock of issue 
> http://issues.apache.org/jira/browse/JCR-2525 about half the time.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to