You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Stefan Guggisberg (JIRA)" <ji...@apache.org> on 2010/07/07 16:31:51 UTC
[jira] Resolved: (JCR-2667) NodeReferences are lost when deleting
and setting the same reference in the same save() cycle
[ https://issues.apache.org/jira/browse/JCR-2667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Guggisberg resolved JCR-2667.
------------------------------------
Resolution: Fixed
fixed in svn revision 961388
> NodeReferences are lost when deleting and setting the same reference in the same save() cycle
> ---------------------------------------------------------------------------------------------
>
> Key: JCR-2667
> URL: https://issues.apache.org/jira/browse/JCR-2667
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 1.6.1
> Reporter: Cédric Damioli
> Priority: Critical
> Fix For: 1.6.3
>
>
> I've written the following snippet to illustrate the issue :
> Node root = session.getRootNode();
>
> Node a = root.addNode("a");
> Node b = root.addNode("b");
> b.addMixin("mix:referenceable");
>
> a.setProperty("p", b);
>
> root.save();
>
> System.out.println(b.getReferences().getSize()); // --> correctly returns 1
>
> a.setProperty("p", (Node) null);
> a.setProperty("p", b);
>
> root.save();
>
> System.out.println(b.getReferences().getSize()); // --> returns 0 !
> When the ChangeLog is processed, added references are processed before deleted ones, so the persisted NodeReferences is finally wrong.
> I've set the priority of this issue to critical, because the persisted references count is corrupted.
> A simple workaround is to first remove the property, then save, then add the property again, but it not satisfying.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.