[PATCH 5 of 6 V2] obscache: instantiate the cache and keep it warm

Jun Wu quark at fb.com
Wed May 24 13:39:08 EDT 2017


Excerpts from Pierre-Yves David's message of 2017-05-24 14:03:22 +0200:
> 
> On 05/24/2017 01:03 AM, Jun Wu wrote:
> > Excerpts from Pierre-Yves David's message of 2017-05-23 20:20:49 +0200:
> >>
> >> On 05/23/2017 05:07 PM, Jun Wu wrote:
> >>> Excerpts from Pierre-Yves David's message of 2017-05-23 11:49:49 +0200:
> >>>> [...]
> >>>> Does these details address your concerns?
> >>>
> >>> There are some automation which does reclones. Reclone could be done in
> >>> seconds. 9 seconds obscache build time does look a bit painful for them.
> >>
> >> Out of curiosity, what order of magnitude of "seconds" are we talking
> >> about here? What kind of extra setup do you use (beside remotefilelog)
> >> to achieves that kind of timing for such large repository ?
> >
> > The initial stream clone takes 13 seconds to download full changelog and
> > manifest. Update is slow but a user-space filesystem will remove that cost.
> > In the near future, we may migrate to some kind of lazy manifest so stream
> > clone can skip manifest revlog and the time could be cut in half.
> 
> I seee, So if the obscache was included into the streaming clone, that 
> would remove the impact to clone.

One of our goals is to avoid using revlog for scalability. Adding new
dependence to revlog means we need more monkey patching to get rid of them
later. So I think a config option could be a better choice if we do think
obscache and its 20ms speedup is worthwhile.

> 
> Cheers,
> 


More information about the Mercurial-devel mailing list