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