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

Markus Unterwaditzer <markus@unterwaditzer.net> Mon, 07 December 2015 00:20 UTC

Return-Path: <markus@unterwaditzer.net>
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 248CB1A8A9A for <storagesync@ietfa.amsl.com>; Sun, 6 Dec 2015 16:20:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.25
X-Spam-Level:
X-Spam-Status: No, score=-2.25 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_LOW=-0.7] 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 OzqRxEoZTVNw for <storagesync@ietfa.amsl.com>; Sun, 6 Dec 2015 16:20:29 -0800 (PST)
Received: from draco.uberspace.de (draco.uberspace.de [95.143.172.133]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE3C31A8A9D for <storagesync@ietf.org>; Sun, 6 Dec 2015 16:20:28 -0800 (PST)
Received: (qmail 31423 invoked from network); 7 Dec 2015 00:20:26 -0000
Received: from localhost (HELO localhost) (127.0.0.1) by draco.uberspace.de with SMTP; 7 Dec 2015 00:20:26 -0000
Date: Mon, 07 Dec 2015 01:20:20 +0100
From: Markus Unterwaditzer <markus@unterwaditzer.net>
To: Linhui Sun <lh.sunlinh@gmail.com>
Message-ID: <20151207002020.GA5002@localhost.localdomain>
References: <CAO_Yprbc9LMc3TmpkKpmN9hUzAix13nfuSRS5Z8jPf6xu8xjNg@mail.gmail.com> <56601F18.8030409@tuxed.net> <CAO_YpraF1UrV49Po9PZx6ZoSbcLm5gRPEKXAdTT3VvPPPWEAfg@mail.gmail.com> <1449153485919-e58fed74-d7eab50a-01b3670c@fugue.com> <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>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1449447450498-61af5a96-1c461047-3019ac1e@gmail.com>
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <http://mailarchive.ietf.org/arch/msg/storagesync/vZoplprJH8tfd8fwYUogtQTwXHc>
Cc: storagesync <storagesync@ietf.org>, Ted Lemon <mellon@fugue.com>
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 00:20:31 -0000

You need to store the etags from the last sync to see which ones have changed.
I'm doing this in vdirsyncer (https://github.com/untitaker/vdirsyncer), a
remoteStorage and CalDAV/CardDAV sync client and probably should do a
high-level blogpost about it.

On Mon, Dec 07, 2015 at 08:17:26AM +0800, Linhui Sun wrote:
> On 周一, 12月 7, 2015 at 01:36, Markus Unterwaditzer <markus@unterwaditzer.net>
> wrote:
> > IMO, etag is designed for client side cache. A typical usage: if the file
> > on the server has no actual change, the client will use the cache and the
> > server does not need to send the file content again. While for a storage
> > service, we also need some some similar mechanism at server side. In this
> > way, the client do not need to upload unchanged content to the server.
> 
> There is no "true-and-only" usecase for etags, and no, you do not need anything
> more than etags for synchronization. Using a additional "metadata" file, the
> client can cheaply determine whether local content changed and whether server
> content changed, and that's all that is required for (in this case) file
> synchronization. Sync conflicts are a different story, and the solution to that
> heavily depends on the kind of data you're syncing. I'm a little bit confused here: if I have a metadata file, why do I still need
> the etag? The metadata file should contain something equivalent to the etag.
> 
> >
> > > --
> > > Sent from my phone. Please excuse my brevity.
> > >
> > > _______________________________________________
> > > Storagesync mailing list
> > > Storagesync@ietf.org
> > > https://www.ietf.org/mailman/listinfo/storagesync
> > >
> 
> > _______________________________________________
> > Storagesync mailing list
> > Storagesync@ietf.org
> > https://www.ietf.org/mailman/listinfo/storagesync

> _______________________________________________
> Storagesync mailing list
> Storagesync@ietf.org
> https://www.ietf.org/mailman/listinfo/storagesync