mod_disk_cache is still broken.  mod_mem_cache should work (w/o virtual
hosts) in 2.0.40.  A couple of folks on the list have some fixes for
mod_disk_cache that will get into 2.0.41. Sorry for the inconvience.

Bill

> Hi,
>
> First of all, I also posted this mail on the Apache users
> mailing
> list but did not receive any solution for my problem.
> That's why
> I'm trying the dev mailing list now.
>
> I have a problem with letting Apache 2.0.39/mod_cache serve
> cached
> pages.  When first requesting a page, the page is being
> cached (a disk
> file is present) but when performing a second request, the
> cached page
> is not returned but a fresh page is fetched.  Is this a
> configuration
> issue or problem with mod_cache?
>
> Relevant configuration section from httpd.conf:
>   <VirtualHost [ip]:[port]>
>     JkMount /* ajp13
>     ServerName [hostname]
>
>
>     <IfModule mod_ssl.c>
>         SSLEngine off
>         #  10
>         #  [certificate]
>         #  [key]
>         #  [caCertificate]
>         #  +StdEnvVars +CompatEnvVars +ExportCertData
>
>     </IfModule>
>     <IfModule mod_mime.c>
>         #  AddOutputFilter DEFLATE [deflateExtensions]
>     </IfModule>
>     <IfModule mod_cache.c>
>         CacheOn            On
>         CacheMaxExpire     604800
>         CacheDefaultExpire 3600
>         <IfModule mod_disk_cache.c>
>             CacheRoot    /cache
>             CacheEnable  disk /
>
>         </IfModule>
>     </IfModule>
>   </VirtualHost>
>
>
> I have added some extra logging statements to the mod_cache
> code to
> check which 'age' values are being used/calculated for the
> cached
> page.  Logging has been set to debug and when performing a
> first
> request for a page, the following lines are logged:
>
> [Mon Jul 29 13:34:43 2002] [debug] mod_cache.c(109): cache:
> URL /omega/perl/pod/perlfunc/symlink.html is being handled
> by disk
> [Mon Jul 29 13:34:43 2002] [debug] mod_cache.c(192): cache:
> no cache - add cache_in filter and DECLINE
> [Mon Jul 29 13:34:43 2002] [debug] mod_cache.c(416): cache:
> running CACHE_IN filter
> [Mon Jul 29 13:34:43 2002] [info] disk_cache: Caching URL
> /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:43 2002] [debug] mod_cache.c(643): cache:
> Caching url: /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:43 2002] [debug] mod_cache.c(684):
> now       = 1027946083671195
> [Mon Jul 29 13:34:43 2002] [debug] mod_cache.c(685): set
> rsp_t = 1027946083671195
> [Mon Jul 29 13:34:43 2002] [info] disk_cache: Caching
> headers for URL /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:43 2002] [debug] mod_cache.c(416): cache:
> running CACHE_IN filter
> [Mon Jul 29 13:34:43 2002] [info] disk_cache: Cached body
> for URL /omega/perl/pod/perlfunc/symlink.html
>
> The lines with 'now =' and 'set rsp_t =' were added by me.
> They
> show the current time and response time (in usec since
> 1970).
>
> Now, when performing a second request for the same page,
> that page
> should come from the cache.  But:
>
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(109): cache:
> URL /omega/perl/pod/perlfunc/symlink.html is being handled
> by disk
> [Mon Jul 29 13:34:58 2002] [info] disk_cache: Serving Cached
> URL /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:58 2002] [info] disk_cache: Served headers
> for URL /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(253):
> APR_DATE_BAD = 0
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(254):
> age          = 1027946098539476
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(255):
> age_c        = 0
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(256):
> info->date   = 1027943206000000
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(257):
> info->expire = 1028550883671195
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(258):
> info->req_t  = 0
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(259):
> info->rsp_t  = 0
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(260):
> minfresh     = 0
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(261):
> maxage       = -1
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(262):
> maxstale     = 0
> [Mon Jul 29 13:34:58 2002] [debug] cache_util.c(263):
> smaxage      = -1
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(247): cache:
> stale cache - test conditional
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(283): cache:
> nonconditional - no cached etag/lastmods - add cache_in and
> DECLINE
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(416): cache:
> running CACHE_IN filter
> [Mon Jul 29 13:34:58 2002] [info] disk_cache: Caching URL
> /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(643): cache:
> Caching url: /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(684):
> now       = 1027946098584206
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(685): set
> rsp_t = 1027946098584206
> [Mon Jul 29 13:34:58 2002] [info] disk_cache: Caching
> headers for URL /omega/perl/pod/perlfunc/symlink.html
> [Mon Jul 29 13:34:58 2002] [debug] mod_cache.c(416): cache:
> running CACHE_IN filter
> [Mon Jul 29 13:34:58 2002] [info] disk_cache: Cached body
> for URL /omega/perl/pod/perlfunc/symlink.html
>
> >From line 4 to line 14 I printed some more debug values.
> These values
> are used to calculate the age of the request/response and to
> check
> whether the cached version is still fresh.  The problem here
> is that
> the info->request_time and info->response_time are zero,
> resulting in
> a very large age value.  These values are zero because they
> are only
> filled in later on, i.e. a few lines lower you have the 'set
> rsp_t'
> log entry.
>
> Does mod_cache behave like this because I misconfigured
> something?  Or
> is it a problem in the code itself??
>
> --
> ir. Kris Verbeeck
> Development Engineer
>
> Ubizen - Ubicenter - Philipssite 5 - 3001 Leuven - Belgium
> T:  +32 16 28 70 64
> F:  +32 16 28 70 77
>
> Ubizen - We Secure e-business - www.ubizen.com
>

Reply via email to