Re: [PATCH] SMP Cache manager: add support for parameterized Cache Manager queries

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Tue, 01 Mar 2011 16:28:47 -0700

On 03/01/2011 11:29 AM, Tsantilas Christos wrote:
> Any comment on this forgotten patch?

Hi Christos,

    If you do not have doubts about the changes, please feel free to
commit them after nobody reviews them for two weeks. We do not have
enough folks to guarantee that every single patch will be reviewed, and
it is bad for everybody when the good code gets stuck. This is why Squid
wiki says:

 4. Submissions older than 10 days without negative votes are accepted.

As for the patch itself, the functionality is needed in SMP deployments,
and I cannot think of a better URL format for queries because it is
based on the existing CGI standard, easy enough to read/type, and will
work well with Cache Manager HTML wrappers.

The only problem with the CGI format, IMO, is that question mark and
ampersand are special to the shell, but it is not that difficult to
quote the URL. If somebody wants to also support shell-safe markup
(e.g., treat the first '/' as '?' and other '/' as '&'), we can always
discuss and add such support later.

Thank you,

Alex.

> On 01/28/2011 09:11 PM, Tsantilas Christos wrote:
>> The attached patch add support for parameterized Cache Manager queries.
>>
>> Currently, one sends mgr queries to the "whole" Squid. Kids responses
>> may get aggregated by Coordinator, and we, in general, want to aggregate
>> all responses that can be aggregated.
>>
>> This patch allow us to aggregate stats for a subset of kids. For
>> example, the following query aggregates stats for just the first and the
>> third workers:
>>
>> mgr:info?workers=1,3
>>
>> When query response information cannot be aggregated (or at least is not
>> aggregated right now), then a parameterized query will result in several
>> matching "byKid { ..." blocks.
>>
>> This patch support the following scope variants:
>>
>> * raw interface with access to any kid process or groups of kids;
>> similar to ${process_number} macro we already support in squid.conf:
>> mgr:foo?processes=id,id,id...
>> * higher-level interface to isolate workers by their numbers, starting
>> with 1 for the first worker:
>> mgr:foo?workers=num,num,num...
>>
>>
>> Currently, all kids except Coordinator are workers, but that will change
>> in the future as we get more kinds of kids.Currently, one sends mgr
>> queries to the "whole" Squid. Kids responses may get aggregated by
>> Coordinator, and we, in general want to aggregate all responses that can
>> be aggregated.
>>
Received on Tue Mar 01 2011 - 23:29:01 MST

This archive was generated by hypermail 2.2.0 : Wed Mar 02 2011 - 12:00:03 MST