jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-464) RootImpl.rebase() doesn't handle move operations correctly
Date Thu, 06 Dec 2012 14:53:09 GMT

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

Thomas Mueller commented on OAK-464:

> Making this available through the MicroKernel API as Jukka suggested wouldn't increase

Well, it would increase complexity of the MicroKernel implementations. And given that we want
to write one instance of oak-core, but multiple implementations of the MicroKernel, I would
rather have the complexity in oak-core and not in the MicroKernel implementations.

Instead of pushing complexity down to the MicroKernel implementations, I suggest to solve
the problem in the higher level, that is, in oak-core.

Instead of just remembering the current state, and doing a 3-way merge in oak-core, I suggest
to keep the operations as list (move operation, add node operation, remove node operation,
copy operation, set property operation). That way, a rebase within oak-core is trivial: simply
re-apply the operation list. Also, the problem of move operations would be solved.

> RootImpl.rebase() doesn't handle move operations correctly
> ----------------------------------------------------------
>                 Key: OAK-464
>                 URL: https://issues.apache.org/jira/browse/OAK-464
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>            Reporter: Michael Dürig
> Doing {{RootImpl.rebase()}} causes moves to be changed to remove followed by add. Which
causes moves of large sub trees to become very expensive.

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

View raw message