[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: HTTP protocol v2: single commit request, or many PUTs?

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: Mon, 10 Nov 2008 09:53:04 -0600

On Mon, Nov 10, 2008 at 9:36 AM, Greg Stein <gstein_at_gmail.com> wrote:
> There ARE NO "turnarounds". You just pipeline a bunch of PUTs up
> there. For all intents and purposes, it *looks* like one big mother
> request.

Sorry, I meant "fewer network requests", not "fewer turnarounds". As
you say, a 'turnaround' implies sending and waiting.

>
> Don't forget that a commit also has COPY and DELETE operations going
> on, too. And in the future, maybe a MOVE or two :-)
>
> IMO, it is easier to understand if you keep the operations separate
> rather than glom them all into one bigass request. Those big glommed
> requests then need to be parsed to be broken up. They also don't
> restart very well in the face of network failure, packet drops, or
> connection closures.
>

Good point, your last one.

Another advantage of a single request is that it means we can use the
'standard' commit editor that the other layers use, and give us more
consistent semantics. (I think this was glasser's request).

Let me revise the lists, leaving out the parallel PUTs, since we have
no plans for that anytime soon.

Multi-request motivations:

  * opens the door for pipelined writes, the way ra_svn does it
  * more resilient on a flaky network
  * more detailed logging
  * don't need to change much code

Single-request motivations:

  * one request means less traffic overall
  * can use standard libsvn_repos commit-editor

Hmmm. Maybe multi-request *is* more advantageous. Let's let this
thread sit around for 24 hours and see if people raise other points.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-10 16:53:20 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.