[
https://issues.apache.org/jira/browse/OAK-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576770#comment-13576770
]
Michael Dürig commented on OAK-606:
-----------------------------------
In another chat [~mreutegg] and [~anchela] preferred a solution where nodes
always reflect the current state and thus change their identifier on moves.
JSR-283 specifically allows identifiers of non referenceable nodes to change on
moves (10.6.1).
The consequence of this is that it becomes possible for {{isSame()}} to return
false for two nodes that have both been retrieved from the same session with
the same identifier. I.e.:
{code}
String id = ... // for an id pointing to node at /foo
Node n = session.getNodeById(id);
session.move(n.getPath(), “/bar”);
session.addNode(“/foo”);
Node m = session.getNodeById(id);
assertFalse(m.isSame(n));
{code}
> Node becomes invalid after Session#move()
> -----------------------------------------
>
> Key: OAK-606
> URL: https://issues.apache.org/jira/browse/OAK-606
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: jcr
> Reporter: angela
> Attachments: OAK-606.patch
>
>
> moving or renaming an existing (saved) node renders that node instance
> invalid and any access on that node instance will throw IllegalStateException.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira