[ https://issues.apache.org/jira/browse/JCR-2740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12935412#action_12935412 ]
Stefan Guggisberg commented on JCR-2740: ---------------------------------------- +1 for jcr-2740-b.patch in general, thanks! some minor concerns: - i'd rather use getters instead of direct field access. we could avoid direct field access by passing a SessionContext instance instead of ItemManager in the LazyItemIterator constructor. - instead of printing a stacktrace directly to System.err i'd prefer to log the error > On missing child node, automatically rename entry when trying to add a node > with the same name > ---------------------------------------------------------------------------------------------- > > Key: JCR-2740 > URL: https://issues.apache.org/jira/browse/JCR-2740 > Project: Jackrabbit Content Repository > Issue Type: New Feature > Components: jackrabbit-core > Reporter: Thomas Mueller > Assignee: Thomas Mueller > Attachments: jcr-2740-b.patch, jcr-2740.patch > > > If a node points to a non-existing child node (which is a repository > inconsistency), currently this child node is silently ignored for read > operations (as far as I can tell). However, when trying to add another child > node with the same name, an exception is thrown with a message saying a child > node with this name already exists. > I suggest to rename the missing child node entry in that case (for example > add the current date/time, or a random digit until there is no conflict), and > then continue with adding the new child node. I wouldn't automatically remove > the bad entry, because the node might "appear" later (after a restore), and > because removing data from the repository seems wrong. > It's not a perfect solution, but it might be better than throwing an > exception and basically preventing changes. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.