[
https://issues.apache.org/jira/browse/JCR-3291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256558#comment-13256558
]
Bart van der Schans commented on JCR-3291:
------------------------------------------
Merged in the 2.2 branch in revision 1327476.
> 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