Return-Path: X-Original-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EA2EBD4F9 for ; Tue, 18 Dec 2012 15:35:31 +0000 (UTC) Received: (qmail 90813 invoked by uid 500); 18 Dec 2012 15:35:31 -0000 Delivered-To: apmail-jackrabbit-oak-dev-archive@jackrabbit.apache.org Received: (qmail 90758 invoked by uid 500); 18 Dec 2012 15:35:31 -0000 Mailing-List: contact oak-dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-dev@jackrabbit.apache.org Delivered-To: mailing list oak-dev@jackrabbit.apache.org Received: (qmail 90744 invoked by uid 99); 18 Dec 2012 15:35:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Dec 2012 15:35:31 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mueller@adobe.com designates 64.18.1.78 as permitted sender) Received: from [64.18.1.78] (HELO exprod6og127.obsmtp.com) (64.18.1.78) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Dec 2012 15:35:22 +0000 Received: from outbound-smtp-2.corp.adobe.com ([193.104.215.16]) by exprod6ob127.postini.com ([64.18.5.12]) with SMTP ID DSNKUNCNJfx1Z2ozxs5mg/P16buu3u33tcXi@postini.com; Tue, 18 Dec 2012 07:35:01 PST Received: from inner-relay-1.corp.adobe.com (inner-relay-1.corp.adobe.com [153.32.1.51]) by outbound-smtp-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id qBIFYxuN011722 for ; Tue, 18 Dec 2012 07:35:00 -0800 (PST) Received: from nacas02.corp.adobe.com (nacas02.corp.adobe.com [10.8.189.100]) by inner-relay-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id qBIFYuAh021278 for ; Tue, 18 Dec 2012 07:34:59 -0800 (PST) Received: from eurcas01.eur.adobe.com (10.128.4.27) by nacas02.corp.adobe.com (10.8.189.100) with Microsoft SMTP Server (TLS) id 8.3.279.1; Tue, 18 Dec 2012 07:34:30 -0800 Received: from eurmbx01.eur.adobe.com ([10.128.4.32]) by eurcas01.eur.adobe.com ([10.128.4.27]) with mapi; Tue, 18 Dec 2012 15:34:28 +0000 From: Thomas Mueller To: "oak-dev@jackrabbit.apache.org" Date: Tue, 18 Dec 2012 15:34:32 +0000 Subject: Re: Conflict handling in Oak Thread-Topic: Conflict handling in Oak Thread-Index: Ac3dNSpE8WNo5uA4SbeJwCZeO7vweg== Message-ID: In-Reply-To: <50D086D4.8030301@apache.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.2.5.121010 acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org 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