Hi,
investigating on this issue, it appears that the problem comes from
the "disker" ID in the SwapDir object.
Added these debug lines in SwapDir::active()
...
// we are inside a disker dedicated to this disk
debugs(3,1,"SwapDir::active :: KidIdentifier = " << KidIdentifier <<
"disker = " << disker << "." );
if (KidIdentifier == disker)
return true;
it appears that the "disker" is wrong after running a squid -k
reconfigure, and hence the active() function returns false.
with a fresh start :
2013/03/22 11:30:29 kid3| SwapDir::active :: KidIdentifier = 3disker = 2.
2013/03/22 11:30:29 kid3| SwapDir::active :: KidIdentifier = 3disker = 2.
2013/03/22 11:30:29 kid2| SwapDir::active :: KidIdentifier = 2disker = 2.
2013/03/22 11:30:29 kid2| SwapDir::active :: KidIdentifier = 2disker = 2.
2013/03/22 11:30:30 kid3| SwapDir::active :: KidIdentifier = 3disker = 2.
2013/03/22 11:30:30 kid3| SwapDir::active :: KidIdentifier = 3disker = 2.
2013/03/22 11:30:30 kid2| SwapDir::active :: KidIdentifier = 2disker = 2.
2013/03/22 11:30:30 kid2| SwapDir::active :: KidIdentifier = 2disker = 2.
with
[root@tv alex]# ps aux|grep squid
root 20320 0.0 0.0 1182724 2096 ?Ss 11:30 0:00 squid
-f /etc/squid/squid.conf
proxy20322 0.1 0.2 1183196 11220 ? S11:30 0:00
(squid-coord-3) -f /etc/squid/squid.conf
proxy20323 0.0 0.2 1184180 11640 ? S11:30 0:00
(squid-disk-2) -f /etc/squid/squid.conf
proxy20324 0.0 0.2 1188276 11484 ? S11:30 0:00
(squid-1) -f /etc/squid/squid.conf
after issuing the squid -k reconfigure, the output of the ps is
identical, but the diskerID is set to 3.
2013/03/22 11:31:46 kid3| SwapDir::active :: KidIdentifier = 3disker = 3.
2013/03/22 11:31:46 kid2| SwapDir::active :: KidIdentifier = 2disker = 3.
2013/03/22 11:31:46 kid2| SwapDir::active :: KidIdentifier = 2disker = 3.
2013/03/22 11:31:47 kid3| SwapDir::active :: KidIdentifier = 3disker = 3.
2013/03/22 11:31:47 kid3| SwapDir::active :: KidIdentifier = 3disker = 3.
2013/03/22 11:31:47 kid2| SwapDir::active :: KidIdentifier = 2disker = 3.
2013/03/22 11:31:47 kid2| SwapDir::active :: KidIdentifier = 2disker = 3.
Trying to trace the problem futher, the "disker" ID seems to be given
in the contructor of the SwapDir,
SwapDir::SwapDir(char const *aType): theType(aType),
max_size(0), min_objsize(0), max_objsize (-1),
path(NULL), index(-1), disker(-1),
repl(NULL), removals(0), scanned(0),
cleanLog(NULL)
{
fs.blksize = 1024;
}
Any hints on where is the right call for creation ( or re-creation )
of this object after a reconfigure?
Thanks
Alex
2013/3/18 Alex Rousskov :
> On 03/18/2013 09:18 AM, Alexandre Chappaz wrote:
>> Hi,
>>
>> Im am using squid 3.2.8-20130304-r11795 with SMP & a rock dir configured.
>> After a fresh start, cachemanager:storedir reports :
>>
>> by kid5 {
>> Store Directory Statistics:
>> Store Entries : 52
>> Maximum Swap Size : 8388608 KB
>> Current Store Swap Size: 28176.00 KB
>> Current Capacity : 0.34% used, 99.66% free
>>
>> Store Directory #0 (rock): /var/cache/squid/mem/
>> FS Block Size 1024 Bytes
>>
>> Maximum Size: 8388608 KB
>> Current Size: 28176.00 KB 0.34%
>> Maximum entries:262143
>> Current entries: 880 0.34%
>> Pending operations: 1 out of 0
>> Flags:
>> } by kid5
>>
>>
>>
>> for the rock cache_dir.
>>
>>
>> After a squid -k reconfigure, without any change in the squid.conf,
>> the cachemanager is reporting this :
>>
>> by kid5 {
>> Store Directory Statistics:
>> Store Entries : 52
>> Maximum Swap Size : 0 KB
>> Current Store Swap Size: 0.00 KB
>> Current Capacity : 0.00% used, 0.00% free
>>
>> } by kid5
>>
>>
>>
>> Is this only a problem with the reporting? Is the rock cachedir still
>> in use after the reconfigure / is there a way to check if it is still
>> in use?
>
>
> Please see Bug 3774. It may be related to your problem.
>
>http://bugs.squid-cache.org/show_bug.cgi?id=3774
>
> Alex.
>