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