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

Feature Request: Multi-site and/or fractional GET/Update

From: Jared Hardy <jaredhardy_at_gmail.com>
Date: 2007-02-04 10:47:05 CET

This may seem like an odd request. Ever since svnsync became available
with 1.4, I have been thinking about various ways to set up
load-balanced sets of Subversion mirrors, to spread multi-user Update
transaction load. I only recently realized that having multiple
up-to-date mirrors also made it possible to distribute Update load
between multiple servers, for the same single client transaction
request (given the right client).

    In my recent attempts to upgrade my server OS, I came across a lot
of cool new ways to download Linux distro ISOs. I used to think
BitTorrent was my best bet, until I started looking into the features
of download managers like FlashGet, wxDownload Fast, and
TrueDownloader. I also did a little reading on the new MetaLink
standard. I realized that even without a torrent file for the DVD ISO
I wanted, I could just copy a big list of mirror URLs to my download
manager, and it would split the download between all the mirrors for
me, very efficiently. I could even verify the resulting file by giving
the download manager the MD5 hash. I was maxing out my broadband
download pipe immediately -- my download speed for a single 4GB ISO
averaged 2.4Mbps, going as high as 3.2Mbps at lunch time. :D
    Using this split download feature, I realized I could potentially
point a download manager at multiple SVN WebDAV URLs, for the same
file in a mirrored Subversion repository, and download a large file
*much faster* than I could from a single repo server. The question now
is, could the same thing be done with the delta GET of the same file,
if I already have a slightly older version in my Working Copy cache?
Could the svn:// connection support the same partial byte-range
download requests that the HTTP standard allows?

I understand this may be a difficult feature to add to the existing
code base. I am hoping that most of the work required would be on the
client side alone. I have seen some rumblings about beginning 2.0
development, so I thought it might be a useful feature to discuss,
before the 2.0 libraries or features became too set.


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Feb 4 10:47:27 2007

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