[
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