Re: squid-2.5 and coss

From: Adrian Chadd <adrian@dont-contact.us>
Date: Thu, 14 Aug 2003 02:24:42 -0600

On Thu, Aug 14, 2003, Robert Collins wrote:
> On Thu, 2003-08-14 at 16:31, Adrian Chadd wrote:
>
> > There's no way to do a dirty rebuild unless:
>
> Easy answer: a dirty coss rebuild is simply to purge the stripes that
> are dirty.

Well, at the moment, there's _no_ dirty rebuild. :)

> Why make the common case difficult to deal with a corner case?

Because, right now, there's no rebuild and there's no actual way
to know whether a stripe is valid or not. Then, there's no way to
know what the object sizes are and if they're deleted after being
written to disk there's no way to actually _know_ they've been
deleted. If they've been replaced and the replacement is in a future
stripe the object will jus tbe replaced on rebuild, - squid will do
that for us. But, if someone PURGE's an object or series of objects
and then does a dirty shutdown the objects will appear again
unless we _store_ the deletes for that storefs.

Now, I don't know whether that really matters much - this is just a cache,
and manual PURGE's won't happen often - but still...

> Long term, we can give coss some real power, once we finish the async
> key lookups begun in 3.0, as coss then won't need any in-core index -
> and the other things you discuss can be done as part of the coss disk
> index lookup logic.

Oh, when we get the async key lookups finished and a few other changes
occur I'm sure some real magic can happen. I think, however, that having
COSS work "well" enough for normal web caches in 2.5 would be a big
and useful thing.

Adrian
Received on Thu Aug 14 2003 - 02:24:46 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:28 MST