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

ra_serf, editors, and Subversion 1.7, and free pizza

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Tue, 28 Jul 2009 10:38:54 -0400

I've been looking at issue 2932[1], trying to make ra_serf obey the editor
constraints without completely killing its performance. I first thought,
"If I can just wrap up any outstanding second fetches before closing out a
directory, I'm good." But, that only pans out if the server promises to
send subdirectories as the first items in a directory. Since it definitely
does not promise that, the situation degrades quickly.

So now I'm face with a few options:

1. Make ra_serf buffer up, on a per-directory basis, the work it needs to
do in that directory. This means, I think, just tracking the files that
need fetchin' (and whether they have props, too).

2. Make ra_serf just handle secondary requests (GETs and PROPFINDs of files
and directory props as dictated by the master REPORT request) immediately.
This will be probably run slower than Neon today.

3. Make ra_serf use the all-in-one REPORT like Neon does. Speed expected
to be as good as Neon's. But what about servers that don't support the
all-in-one REPORT? I'd have to implement #1, also, anyway.

4. Rev the editor interface and necessary consumers thereof with no changes
except to the ordering promises (since I don't think I can realistically do
a *real* editor interface reworking in the 1.7 timeframe).

5. Revert the make-ra_serf-the-default change, and plan to continue
shipping it as experimental and incomplete until those who would claim
otherwise actually do the work to make their claims truthful.

6. Punt. Document in svn_ra.h that folks writing to the update-like APIs
need to expect the editor drive ordering that ra_serf uses, or ensure that
ra_serf isn't being used.


-- C-Mike

PS: I was kidding. There's no free pizza.

[1] http://subversion.tigris.org/issues/show_bug.cgi?id=2932

C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2009-07-28 16:39:34 CEST

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