Re: Cache revalidations

From: Andres Kroonmaa <andre@dont-contact.us>
Date: Sat, 6 Oct 2001 02:07:25 +0200

On 6 Oct 2001, at 0:54, Henrik Nordstrom <hno@squid-cache.org> wrote:

> I want to bring up an long-standing issue in Squid (Bugzilla #7). When
> we perform cache revalidations the object headers are not being updated.
> Most notably Date and Expires is not updated with the new headers. This
> causes quite servere problems for downstream caches as age calculations
> gets all screwed up
>
> For details on why this screws up age calculations for downstream
> caches, see section 13.2.3 Age Calculations.
>
> What I'd like to discuss is opinions on how to solve this.
>
> a) Always using the time_t fields from the StoreEntry, and make sure
> these are updated on cache-revalidations.
>
> b) Rewrite the object with new headers after cache validations
>
> c) Find out a way to update the on-disk headers.
>
> d) Ignore the whole issue like we always have done
>
> Alternative 'a' seems like the most viable one, but will fail miserably
> if Squid is restructured to not have an in-memory index. In such case
> something like 'b' or 'c' is needed.

 Do we need to talk about all http headers, or only those that are
 currently covered with storeentry?
  a) seems ok for current state.
  b) is easy for FS like coss. for others it might be bad overhead.
  c) if we talk only of storeentry prepended to object, then we can
     consider overwriting just those bits after we have serviced object.
     Then we'd open file for r/w instead of just r. If we talk of full
     headers, then probably full object rewrite is the way.

 I'd definitely try to avoid rewriting full object anywhere but on coss.
 So I'd vote for 'c'.

------------------------------------
 Andres Kroonmaa <andre@online.ee>
 CTO, Microlink Online
 Tel: 6501 731, Fax: 6501 725
 Pärnu mnt. 158, Tallinn,
 11317 Estonia
Received on Fri Oct 05 2001 - 18:14:01 MDT

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