On 09/20/2011 10:17 AM, Dmitry Kurochkin wrote:
> On Tue, 20 Sep 2011 19:41:31 +0400, Dmitry Kurochkin 
> <dmitry.kuroch...@measurement-factory.com> wrote:
>> On Tue, 20 Sep 2011 09:08:33 -0600, Alex Rousskov 
>> <rouss...@measurement-factory.com> wrote:
>>> On 09/20/2011 04:30 AM, Dmitry Kurochkin wrote:
>>>> Hi Alex, Amos.
>>>>
>>>> On Mon, 19 Sep 2011 23:07:43 -0600, Alex Rousskov 
>>>> <rouss...@measurement-factory.com> wrote:
>>>>> On 09/19/2011 08:10 PM, Amos Jeffries wrote:
>>>>>> On Tue, 20 Sep 2011 02:40:13 +0400, Dmitry Kurochkin wrote:
>>>>>>> Attached patch does some polishing for Rock store cache_dir
>>>>>>> reconfiguration.
>>>>>>>
>>>>>>>
>>>>>>> Some Rock store options cannot be changed dynamically: path, size, and
>>>>>>> max-size.  Before the change, there were no checks during reconfigure
>>>>>>> to prevent changing these options.  This may lead to Rock cache
>>>>>>> corruption and other bugs.  The patch adds necessary checks to Rock
>>>>>>> store code.  If user tries to change an option that cannot be updated
>>>>>>> dynamically, a warning is reported and the value is left unchanged.
>>>>>
>>>>>
>>>>>
>>>>>> Of itself the patch looks okay.
>>>>>>
>>>>>> BUT... IMO _path_ should never be re-configurable.
>>>>>
>>>>> Good point! I wonder whether admins expect cache_dir lines to be tied to
>>>>> paths (e.g., changing cache_dir order changes nothing) or to position
>>>>> (i.e., changing path can be supported). We should document what we
>>>>> actually support (but that documentation change, if needed, is outside
>>>>> this patch scope).
>>>>>
>>>>>
>>>>>> If rock store can't handle multiple cache_dir of type rock with unique
>>>>>> paths there is something deeper wrong.
>>>>>
>>>>> It can. Nothing special here.
>>>>>
>>>>>
>>>>>> AFAIK path should be the unique key to identify different cache_dir.
>>>>>> Changing the path means a completely different dir is now being
>>>>>> referenced. If not already loaded the dir needs to be loaded as if on
>>>>>> startup. If any existing are no longer referenced the old cache_dir
>>>>>> details needs discarding.
>>>>>
>>>>> I tend to agree: Path-matching is probably better than position-matching.
>>>>>
>>>>> Dmitry, could you please check whether current code maps cache_dir lines
>>>>> to SwapDir objects using cache_dir position in squid.conf or using
>>>>> cache_dir paths? If it is the latter, you can remove the path-related
>>>>> warning from the patch, right?
>>>>>
>>>>
>>>> Cache dir mapping uses paths (though it ignores case).  So it works as
>>>> you would expect.  I knew that when I was working on the patch and I
>>>> still included the path check.  Because it feels to me like we should
>>>> check the path if it is passed to SwapDir::reconfigure().  Otherwise we
>>>> should not pass path to SwapDir::reconfigure() at all.  (There is also
>>>> index parameter which should be checked or removed as well following the
>>>> same arguments.)  What do you think about:
>>>>
>>>> * remove path check from this patch
>>>>
>>>> * prepare another patch that removes index and path parameters from
>>>>   SwapDir::reconfigure()
>>>
>>>
>>> Sounds like a good plan to me.
>>>
>>
>> Attached patch without the path check.
>>
> 
> Oops, forgot to remove unneeded changes in src/fs/rock/RockSwapDir.h.

Committed as trunk r11754.


Thank you,

Alex.

Reply via email to