jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig <mdue...@apache.org>
Subject Re: Conflict handling in Oak
Date Tue, 18 Dec 2012 15:45:08 GMT


On 18.12.12 15:34, Thomas Mueller wrote:
> Hi,
>
>>> So, do "move" and "copy" operations need to be preserved, or can they be
>>> converted to "add node" / "remove node"?
>>
>> Now we are getting somewhere: This is exactly the original topic of
>> OAK-464. If the Microkernel converts moves to add/remove, implementing
>> rebase on top of that results in moves of big sub trees to become *very*
>> expensive.
>
> As far as I know, in MongoDB, moves are implemented as "copy & delete", so
> I don't think performance is a problem.
>
> But I guess memory usage would be a problem if the whole subtree has to be
> put in a Json document. MicroKernel.getJournal could lead to out of memory
> for large move & copy operations, unless those operations are at least
> somewhat preserved in the journal. As far as I understand, both
> MicroKernel implementations do return move operations, so I guess it's not
> a problem in practice(?)

Yes but it was you who said earlier:

"But the question is how close the journal has to match the original
commit, specially "move" and "copy" operations.

So, do "move" and "copy" operations need to be preserved, or can they be
converted to "add node" / "remove node"?"

in order to circumvent the problem of inconsistent journals.

Which leaves me a bit clueless on what you mean with "not a problem in 
practice".

Michael


>
> Regards,
> Thomas
>

Mime
View raw message