[ 
https://issues.apache.org/jira/browse/OAK-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576957#comment-13576957
 ] 

Marcel Reutegger commented on OAK-606:
--------------------------------------

bq. Also, how should the following code behave?

IMO it must not throw, but instead return "/foo" and more importantly reflect 
the state of the 'foo' node added by sessionB.

bq. why should the single-session case behave differently?

I'm not sure we can easily compare the two cases. In the single-session case, 
{{sessionA}} does not perform any changes, that is, {{foo}} does not change its 
identifier, whereas in the multi-session case it does. Based on 'Persisting by 
Identifier' (10.11.4), I'd say {{sessionB}} overwrites the persistent node with 
identifier '/foo' when it adds a new 'foo' node. This change is then reflected 
in {{foo}} on {{sessionA.refresh()}}.
                
> 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
>            Assignee: Michael Dürig
>         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