[Http-crcsync] General comments on crcsync document

Alex Wulms alex.wulms at scarlet.be
Sun Jul 12 10:20:24 EDT 2009


Op zondag 12 juli 2009, schreef Rusty Russell:
> On Fri, 10 Jul 2009 11:06:12 am Patrick McManus wrote:
> > > more related comments on the spec.. it took me a few minutes to figure
> > Is there a strong basis for 60, or is it just "more than 32". and was 32
> > shown to have problems significant enough to warrant the change? (the
> > strong sha is wrapped around the whole thing should it collide,
> > afterall.)
>
> It's a 64 bit hash with 4 bits thrown away.
>
> Unf. 32 bits is probably not enough given the birthday problem (but has the
> advantage that it will test those code paths).  We started with 32 bits;
> ISTR there was pressure for change, don't know if that was from actual
> testing results?
>
> (FWIW I like 32 bit myself: easy and well understood).

It was based on a discussion but not on actual testing results. The discussion 
can be found back here: 
http://lists.laptop.org/pipermail/server-devel/2009-April/003143.html


> > in a somewhat related thought:
> >
> > "In case of a mismatch, the crcsync cache client should return an error
> > condition to the classical cache client and discard the original
> > instance from it's local store, to prevent the same error from
> > re-occurring when the user retries the request. "
> >
> > I'm not sure this specification has any business telling the a cache
> > that it should discard legitimate instances from its local store. There
> > might very well be administrative policy in place pinning them there! A
> > more appropriate remedy would be prohibiting said client from sending
> > the same if-block sequence for a subsequent request to the same resource
> > without getting a successful transaction in between. Even changing the
> > block size on the next request would cure a crc conflict.
>
> Yes, I suggest rewording.  Of course, in practice deleting is probably
> simplest for a stateless implementation.
The idea to throw away the cached page was also based on that same discussion. 
Though, indeed, the spec should not force the crcsync cache client to 
completely discard the cached page. How to recover from a collission is 
indeed an implementation detail.

Cheers,
Alex



More information about the Http-crcsync mailing list