httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <>
Subject Re: mod_cache thundering herd bug
Date Mon, 21 Apr 2014 11:38:08 GMT
On 19 Apr 2014, at 10:26 PM, Eric Covener <> wrote:

> Graham -- related subject brought up either in Denver or in the bug.
> It seems that when we serve a stale file while the cache is locked,
> the age headers are small instead of large. I got totally lost trying
> to track down the issue, maybe it makes sense to you?  It's almost as
> if they time of the revalidation is somehow updated early and the
> delta in the stale cache hits is based off of that.

All thundering herd does is after letting the first conditional request through, it serves
stale data (RFC willing) until that conditional request comes back or a specific maximum time
is reached, whichever comes first.

The most valuable piece of information in this process is the "reason" variable, which describes
the reason why something wasn't eligible for caching. In httpd v2.4 the X-Cache-Detail header
will give this to you, in httpd v2.2 you'll need to log at DEBUG level to get this:

        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
                "cache: %s not cached. Reason: %s", r->unparsed_uri,

The questions to answer are:

- Is there stale content to serve? No stale content, no thundering herd protection.
- If stale content is being deleted, identify why that is. This is likely to be unrelated
to thundering herd, but rather in other parts of mod_cache.


View raw message