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

Michael Dürig commented on OAK-101:
-----------------------------------

The main thing left to do on this issue is tracking node instances of 
referenceable nodes across transient move operations. I implemented 3 variants 
for doing so:

# Track *all* nodes (not only referenceable ones) across moves. See OAK-664 for 
a patch. This has the drawback of adding additional complexity in {{TreeImpl}}. 
Also it adds some additional processing overhead since each tree needs to check 
for - and possibly resolve -  pending moves for all of its ancestors and for 
itself. 
# Track *only referenceable* nodes across moves. This depends on the fix in 
OAK-679 since we need to be able to reflect transiently assigned uuids across 
node instances. See OAK-101.patch. This has the drawback of the change in 
OAK-679 [masking some programming errors | 
https://issues.apache.org/jira/browse/OAK-679?focusedCommentId=13595050&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13595050].
# Track only only referenceable nodes with a *persisted uuid". See 
OAK-101-1.patch. This causes 
org.apache.jackrabbit.oak.jcr.MoveTest#testMoveNewReferenceable to fail since 
only persisted identifiers are tracked. 

Given these variants, I'd opt for going with 1) for now. If it turns out that 
the additional complexity and performance hit can't be handled we can always 
revert and use 2) or even 3).



                
> implement identifier handling (byUUID, byIdentifier, etc)
> ---------------------------------------------------------
>
>                 Key: OAK-101
>                 URL: https://issues.apache.org/jira/browse/OAK-101
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: jcr
>            Reporter: Julian Reschke
>            Assignee: Michael Dürig
>         Attachments: OAK-101-1.patch, OAK-101.patch
>
>


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