[PATCH 2/2] Resolve stratum and chunk refs in batches

Lars Wirzenius lars.wirzenius at codethink.co.uk
Mon Jan 14 16:51:14 GMT 2013

On Fri, Jan 11, 2013 at 11:58:15AM +0000, Richard Maw wrote:
> In a more general review, I'm worried what would happen if the cache
> server doesn't resolving multiple refs, so what happens if people use a
> newer morph, but an old cache server.

If I'm reading the patch correctly, it does not fall back to the
old API call if the new one fails (sha1 vs sha1s). This would mean
we need to deploy the new cache server everywhere before we can
merge the change in Morph itself. And that's tricky to guarantee,
especially since we don't really control all installations.

If we were to use the HTTP pipelining idea, we could avoid any changes
to the cache server, and would only have changes in Morph.

So we have two alternatives:

* Merge and deploy the server side changes. Modify Morph to fall back
  to the old API call if the new one is missing. Then merge the Morph
* Change the implementation to drop the sha1s call on the server, and
  use HTTP pipelining in Morph. Unfortunately, the httplib module does
  not seem to support pipelining, so this would be awkward to implement.

Because of this, I am leaning towards the first option, but that
requires implementing fallback. I'll see about doing that. Meanwhile,
I'll merge the server side changes now.

http://www.codethink.co.uk/ http://wiki.baserock.org/ http://www.baserock.com/

More information about the baserock-dev mailing list