[squid-dev] Proposal: Helper response: concatenated values with custom delimiter
Alex Rousskov
rousskov at measurement-factory.com
Tue Apr 28 19:30:20 UTC 2026
On 2026-04-28 04:37, Andrey K wrote:
> On my part, I see two reasons for implementing support for the
> key=v1,v2,v3 format:
>
> 1. As Amos pointed out in the previous email, using this format will
> reduce the volume of traffic sent from the helper, thereby reducing the
> processing overhead.
Yes, this optimization has been recognized as such since the initial
code changes were posted on GitHub. To avoid a misunderstanding, I am
not disputing this optimization existence. I was answering a different
question: Do we need this optimization? My current (short) answer is
"no". My earlier response has the details.
> However, the impact will be marginal; for 300 groups, the savings would
> be roughlylen("group=") * 300 = 1800 bytes.
> It would be far more efficient to filter groups during PAC record
> parsing. This filtering should be performed as early as possible to
> prevent further processing of unused groups. I intend to spin this
> suggestion off into a separate discussion thread.
Yes, and we have already discussed related filtering ideas on GitHub. If
helper response size reduction and Squid work/memory reduction are the
goals, then early filtering is a better answer when dealing with
hundreds of groups that are of no interest to Squid.
> 2. Annotation of client connections. Currently, only one tag is
> supported for client connection annotation: clt_conn_tag, and the
> current handler for this tag does not support multiple occurrences of
> the same tag in the helper response.
I disagree that connection annotation is (or should be viewed as)
related to supporting key=list format. It is a separate/orthogonal issue.
> Therefore, I suggest we close this proposal for now
I support this suggestion.
Thank you,
Alex.
> вс, 26 апр. 2026 г. в 06:26, Amos Jeffries <squid3 at treenet.co.nz
> <mailto:squid3 at treenet.co.nz>>:
>
> On 24/04/2026 01:42, Alex Rousskov wrote:
> > On 2026-04-22 07:24, Andrey K wrote:
> >> Hello, Amos and Alex,
> >>
> >> Thank you for the discussion and the proposed formats.
> >>
> >> Since we already support the
> >> key=v1 key=v2
> >> format, and the
> >> key=v1,v2
> >> format is currently undocumented, I think we should answer two
> >> questions first:
> >>
> >> 1. Do we really need to support list-values? It seems Alex
> thinks we
> >> might not need them at all.
> >
> > If you have to ask, then the answer is "no" or "not yet": We need
> a very
> > compelling use case to add a "list-values" optimization (when we
> already
> > support lists of values). Since you are not sure, and you were
> the only
> > one making/wanting related changes (AFAICT), we evidently lack
> such a
> > case today.
> >
> > Rule of thumb: Avoid complex optimizations until their expense
> can be
> > justified by a use case (that can also guide their implementation).
> >
>
> Remember that the earlier work by Andrey did bring up a reasonable
> rational for doing it anyway.
>
> Namely that supporting A,B,C lists improves the bandwidth cost of
> transmission between helper and Squid.
>
> Several of the Kerberos use-cases are sending many group names out of
> the helper. So this specific (accept comma-delimited value list) is
> not
> a theoretical optimization.
>
>
> Cheers
> Amos
>
> _______________________________________________
> squid-dev mailing list
> squid-dev at lists.squid-cache.org <mailto:squid-dev at lists.squid-cache.org>
> https://lists.squid-cache.org/listinfo/squid-dev
> <https://lists.squid-cache.org/listinfo/squid-dev>
>
>
> _______________________________________________
> squid-dev mailing list
> squid-dev at lists.squid-cache.org
> https://lists.squid-cache.org/listinfo/squid-dev
More information about the squid-dev
mailing list