Re: [patch] refresh bugs

From: Henrik Nordstrom <henrik@dont-contact.us>
Date: Mon, 01 May 2006 19:08:07 +0200

mån 2006-05-01 klockan 22:46 +1200 skrev Doug Dixon:
> Hi
>
> I've written a patch that is supposed to fix several problems with
> how squid3 refreshes stale entries.
>
> http://www.squid-cache.org/bugs/show_bug.cgi?id=1548
>
> The following bugs are targeted:
> Bug 1548 - Refresh where origin replies 304: cache is not updated,
> future requests will still hit origin

Part of "cache is not updated" is also bug #7...

> Specific things I'd like comment on:
> 1. handleIMSGiveClientUpdatedOldEntry() used to HTTPMSGLOCK and
> HTTPMSGUNLOCK the request. Is it okay to remove this? (I'm awaiting
> some feedback from Duane on this one)

The whole construct with explicit lock/unlock is questioned, but as a
rule of thumb anything going into persistent structures such as
StoreEntry (and it's references, i.e. MemObj) should keep a lock, even
if temporary. This to allow audits of the lock management.

> 2. handleIMSGiveClientUpdatedOldEntry() used to set old_entry-
> >timestamp to squid_curtime. Was this in fact correct?

Yes, but to be correct Bug #7 also needs to be solved and at that time
the object time management reinvestigated. We derive quite a bit from
the specs today in how we handle time drift.

> 3. handleIMSGiveClientNewEntry() used to call processMiss() - this
> caused the duplicate request in bug 1561, and has gone. Was there a
> reason for doing it this way that still stands?

Not that I can think of.

Regards
Henrik

Received on Mon May 01 2006 - 11:08:26 MDT

This archive was generated by hypermail pre-2.1.9 : Thu Jun 01 2006 - 12:00:04 MDT