[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#703617: htcacheclean: fails to clean expired entries



Package: apache2-utils
Version: 2.2.22-12
Severity: normal

Hi,

I noticed that my mod_disk_cache would grow and don't stop growing. It
was configured for 300M and broke 2GB. Situation did not improve when
running it manually:

# htcacheclean -t -l300M -v -p/var/cache/apache2/mod_disk_cache
Statistics:
size limit 300.0M
total size was 135.7M, total size now 135.7M
total entries was 75460, total entries now 75460
#

At this point the cache was still consuming about 2GB. Looking into the
cache I dug up an example .header file:

0000000: 0400 0000 c800 0000 4100 0000 0000 0000  ........A.......
0000010: c15e 39e0 f7d7 0400 4057 9bd4 0cd8 0400  .^9.....@W......
0000020: 529d 38e0 f7d7 0400 c15e 39e0 f7d7 0400  R.8......^9.....

The second line contains two apr_time_t (uint64 microseconds since
epoch) values. (Header format is explained in
modules/cache/cache_disk_common.h.) The first one is creation time (Fri
Mar 15 15:58:45 2013) the second one is expiration time (Sat Mar 16
16:58:45 2013). The time of running htcacheclean was about Thu Mar 21
10:00:00 2013. It clearly should have cleaned this file.

So I had a deeper look at the hierarchy. Here is a typical directory:

# ls -lA /var/cache/apache2/mod_disk_cache/d/_
total 40
drwx------ 3 www-data www-data 4096 Mar 12 09:02 @_f539kGhNQGJ_guMCww.header.vary
drwx------ 3 www-data www-data 4096 Mar 12 09:08 NQgutNqbacBdUddOpAoQ.header.vary
-rw------- 1 www-data www-data   31 Mar 20 14:10 O8QbyHhBIhMWpZOYfXrQ.header
drwx------ 3 www-data www-data 4096 Mar 20 14:10 O8QbyHhBIhMWpZOYfXrQ.header.vary
drwx------ 3 www-data www-data 4096 Mar 17 17:19 UK_qgLq66qxLoiQ@wayA.header.vary
drwx------ 3 www-data www-data 4096 Mar  1 09:50 Ubj90WYK54LyPSAfYlsw.header.vary
drwx------ 3 www-data www-data 4096 Mar 11 10:44 Z7_PZVkqnCk70Do7JECw.header.vary
drwx------ 3 www-data www-data 4096 Mar  4 06:38 __S2V0aQIdtqX5YEOvIA.header.vary
drwx------ 3 www-data www-data 4096 Mar 19 17:08 iLYj41h2@NVa3d2erhzA.header.vary
drwx------ 3 www-data www-data 4096 Feb 24 01:41 oQIspHH7JlDss@I4m1yg.header.vary
# 

As you can see there are a number of expired (CacheMaxExpire = 1day)
*.header.vary directories and one which is not expired. The one that is
not expired also has a .header file. Presumably the other header files
were cleaned by htcacheclean.

I am not 100% sure that this is not a problem on my behalf, but the data
suggests otherwise at this point. Can you assist me with debugging this
issue? What steps can I try to track down this problem?

Workarounds (besides disabling mod_disk_cache) are welcome.

System information: wheezy i386

Helmut


Reply to: