[ 
https://issues.apache.org/jira/browse/JCR-3291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bart van der Schans resolved JCR-3291.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.6
    
> Stack overflow in multi-session test with moves
> -----------------------------------------------
>
>                 Key: JCR-3291
>                 URL: https://issues.apache.org/jira/browse/JCR-3291
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>            Reporter: Frank van Lankvelt
>            Assignee: Bart van der Schans
>             Fix For: 2.2.12, 2.4.2, 2.6
>
>         Attachments: JCR-3291-test.patch, JCR-3291.patch
>
>
> When two sessions move nodes in incompatible ways (see test), the hierarchy 
> manager can get into an infinite recursion when building paths.
> Setup: nodes /a/aa & /b.
> // results in /b/a/aa
> session1.move(testRootPath + "/a", testRootPath + "/b/a");
> // results in aa/b/aa/b/aa/b/aa/etc.
> session2.move(testRootPath + "/b", testRootPath + "/a/aa/b");
> session1.save();
> session2.save();
> The problem arises when the hierarchy manager uses a mix of transient states 
> and unmodified states managed by the local item state manager.
> When session 1 is saved, the state change of node a is dispatched to session 
> 2.  Node "a" is not changed in session 2, so it's new shared state will be 
> used as-is.
> It will have parent "b" according to the hierarchy manager in session 2.
> The proposed solution is to keep track of the nodes that have been used in 
> building up the path.  This has the downside that building up paths becomes 
> more expensive.
> I haven't done any performance measurements yet on the impact of the change.  
> If performance is an issue, perhaps the implementation can be limited to the 
> case that the consistencyCheckEnabled flag is set.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to