Lookaside clone support proof of concept

Augie Fackler raf at durin42.com
Fri Oct 5 17:31:50 CDT 2012

On Oct 5, 2012, at 5:19 PM, Matt Mackall <mpm at selenic.com> wrote:

> On Fri, 2012-10-05 at 22:44 +0200, Antoine Pitrou wrote:
>> On Fri, 5 Oct 2012 15:23:00 -0500
>> Augie Fackler <raf at durin42.com> wrote:
>>> At the last sprint I talked some about an idea I had to extend (possibly via an extension) the wire protocol to allow some sort of advisory "go fetch from over there first" tricks. I finally got around to doing this today(see [0] for code), and it worked out pretty well. It's a little raw at the moment, but I think docstring on the module explains how to use it well enough. I think this might be most interesting at the moment to Mozilla (as implemented), but it's not hard to envision this letting you direct the client to pull from another (potentially lagged) repository before pulling from the mainline repository to spread out lag over more mirrors.
>> Could you explain what it does, and why it's supposed to be helpful?
> If you have a repository where clone speed is limited by the server CPU,
> you can set up a static bundle with most of the repo contents which the
> client can pull first at wire speed. This moves the bottleneck to either
> client bandwidth or client unpack speed. The bundle can be updated by a
> cronjob and hosted on a CDN or similar if server bandwidth is an issue.

One could also envision this auto-retrying if the connect dropped partway through the bootstrap bundle.

> -- 
> Mathematics is the supreme nostalgia of our time.
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel

More information about the Mercurial-devel mailing list