Re: [Storagesync] Storagesync Digest, Vol 5, Issue 1

Ted Lemon <mellon@fugue.com> Mon, 07 December 2015 02:27 UTC

Return-Path: <mellon@fugue.com>
X-Original-To: storagesync@ietfa.amsl.com
Delivered-To: storagesync@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 909BC1AC40E for <storagesync@ietfa.amsl.com>; Sun, 6 Dec 2015 18:27:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.912
X-Spam-Level:
X-Spam-Status: No, score=-1.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cr-fV0JrBofL for <storagesync@ietfa.amsl.com>; Sun, 6 Dec 2015 18:27:30 -0800 (PST)
Received: from fugue.com (mail-2.fugue.com [IPv6:2a01:7e01::f03c:91ff:fee4:ad68]) by ietfa.amsl.com (Postfix) with ESMTP id 73A7B1AC406 for <storagesync@ietf.org>; Sun, 6 Dec 2015 18:27:29 -0800 (PST)
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="----sinikael-?=_1-14494552455690.6162782441824675"
From: Ted Lemon <mellon@fugue.com>
To: lh.sunlinh@gmail.com
In-Reply-To: <1449454580239-1fd59d90-52f0231b-370f2ef5@gmail.com>
References: <20151204181110.GA2418@localhost.localdomain> <1449255654746-36498631-5591108f-793d865a@fugue.com> <8F085EBA-F6A4-4FBD-8B8E-1F9AE114FD05@unterwaditzer.net> <CAO_YpraJsDKbOXD9MdxHqeAYTMoiZFyViHX+P2PtD=9hpRz9MQ@mail.gmail.com> <20151206173646.GA6290@localhost.localdomain> <1449447450498-61af5a96-1c461047-3019ac1e@gmail.com> <20151207002020.GA5002@localhost.localdomain> <1449448362292-7d42d496-109559e8-4177b3f9@gmail.com> <20151207003810.GA24130@localhost.localdomain> <1449449404474-72724227-c54ecf87-7d18f3b0@gmail.com> <20151207005426.GA29483@localhost.localdomain> <CAO_YpramyzAZ8hS6aphmBNw2FiKTpesb9uW7uGHtjRH_YkPAJg@mail.gmail.com> <1449452139832-4f314827-a7ecd596-c5312339@fugue.com> <1449454580239-1fd59d90-52f0231b-370f2ef5@gmail.com>
Date: Mon, 07 Dec 2015 02:27:25 +0000
Message-Id: <1449455245871-cb7e86e1-1a0160c5-aa6acce3@fugue.com>
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/storagesync/O8LMIFwhKqJk6U_exFwdTzifoW4>
Cc: storagesync@ietf.org
Subject: Re: [Storagesync] Storagesync Digest, Vol 5, Issue 1
X-BeenThere: storagesync@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Mechanisms to synchronize client file systems with Internet-based data storage services <storagesync.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/storagesync>, <mailto:storagesync-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/storagesync/>
List-Post: <mailto:storagesync@ietf.org>
List-Help: <mailto:storagesync-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/storagesync>, <mailto:storagesync-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Dec 2015 02:27:31 -0000

Sunday, Dec 6, 2015 9:16 PM Linhui Sun wrote:
> Right. Conflict resolution is a layer above syncing. Could be automatic, could
> require human intervention (although that's best avoided if possible). Concurrent conflict (e.g. Real-time edit) might/should require human
> intervention. But the non-concurrent conflict (e.g. modification caused by
> different peers but not at the same time) should be automatically resolved by
> the system. Ideally you have a way to go back and undo a change if something important was
> lost or overwritten. This is another reason why keeping a versioned metadata
> store is good.

Nope, this doesn't always work.   E.g., peer A is acting as the central server, and peers B and C are disconnected, and while disconnected, both modify file F.   When they reconnect, it's not the case that the later modification to file F can be considered to supersede the earlier modification.   Because both clients modified the same version of the file, what you probably want is for the changes that B made and the changes that C made to be merged.   Often this can be done automatically, but not if both changes are to the same part of the file, and are not the same change.

Merges can also be a problem if there are cross-file dependencies.

So the bottom line is that you do need to be able to run a conflict resolution process after an update.  But it's not part of the update--it's a separate step, which may result in _another_ update once it's completed.


--
Sent from Whiteout Mail - https://whiteout.io

My PGP key: https://keys.whiteout.io/mellon@fugue.com