[squid-users] what should squid -z do

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Sun, 03 Feb 2013 11:29:45 -0700

On 02/02/2013 10:03 AM, Eliezer Croitoru wrote:
> On 2/2/2013 5:10 PM, Luciano Ruete wrote:
>> Ok, this one is my fault. Debian/Ubuntu init script does a squid -z in a
>> pre-start hook if the cache_dir was not initialized. My rock cache_dir
>> was already initialized but the script only knows from AUFS and COSS
>> because it is ready for squid-3.1 and not for squid-3.2.

> I think that like in ufs case squid -z should not reset the rock store
> file and just recreate it if it's not there.

ufs checks the presence of the configured directory, not any individual
files inside that directory. For consistency, if rock -z behavior is
changed, rock should do the same (current rock code uses a single file
inside the configured directory, but that is an implementation detail
that might change -- we may even support raw partitions some day).

> The reason is to be consistent with ufs and also prevent this kind of
> problem.

The cause of this specific problem is _not_ rock behavior (correct or
not) but a mismatch between a startup script and squid.conf -- the
script does not test for all the right directories when running squid-z.
Even if rock code is changed, this mismatch still needs to be fixed.
Please consider filing a bug report with Debian/Ubuntu if it is their fault.

To be consistent with ufs, we should probably change rock behavior from
initializing the database to doing nothing if the configured database
directory already exists. Like ufs, rock will rely on directory
existence for that test (regardless of what may be inside that
configured directory). In other words, squid-z is not "validate and
initialize" but "initialize if the configured directory is not there".

Any objections to that rock change?

Thank you,

Alex.
Received on Sun Feb 03 2013 - 18:29:53 MST

This archive was generated by hypermail 2.2.0 : Sun Feb 03 2013 - 12:00:06 MST