[ 
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

Reply via email to