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(?) Regards, Thomas
