Hi Tristan,

On Fri, Aug 09, 2024 at 03:51:24PM +0000, Tristan wrote:
> Hi Willy,
> 
> > On 9 Aug 2024, at 16:26, Willy Tarreau <w...@1wt.eu> wrote:
> > [...]
> > I'd be interested in opinions on some of these options:
> >  - deprecate duplicate server names for 3.1, requiring a global option
> >    to support them and drop their support for 3.3 ?
> >  - just drop the support of duplicate server names right now in 3.1 ?
> >  - keep these working "forever" and reconsider the option later, due to
> >    a very valid case that I'm ignoring ?
> 
> If I'd realized, I'd have assumed I found a bug I think; wonder how that even
> gets handled by things like the prom exporter which key purely by name?
> 
> +1 for drop in 3.1
> 
> >  - for backends + frontends, deprecate same names in 3.1, drop in 3.3,
> >    or drop now ? Or keep them ?
> 
> For a pure proxy case without any load balancing (1 fe, 1 be, 1 server) I can
> see it being a bit heavy to have to name both, likely xyz-frontend and
> xyz-backend or something.  Is that justification enough? I'm not convinced.

That was the initial reason for that. But how many configs are using a
frontend and a backend with similar names ? Mystery. Even the stats are
confusing in such a case.

> Neutral.
> 
> wrt the stick tables example, the real crime is that naming them explicitly
> isn't mandatory, at both declaration and usage time... I'm not sure what the
> scope rules are for them, but I promptly decided it was not desirable
> knowledge when I started using them...

I contemplated the possibility of adding an optional "name" argument to
the "stick-table" directive a while ago. And I figured that it would make
it almost mandatory to totally decorellate the tables from the proxies.
These have already been split in the past since it's possible to declare
them in peers section, but that causes a configuration issue: if you merge
config fragments from various customers and they're allowed to name their
table as another customer's proxy, it becomes a bit annoying. It also
means having a same namespace for tables and backends, which reproduces
the issue we currently have with fronts and backs. Nothing unsolvable,
of course, but it definitely needs some thinking before doing a mistake.
BTW, for peers, the table's name contains the peers section name prepended
to it, e.g. "mypeers/t1". That might be something to do with fronts/backs
as well after all, which may also finally permit to support multiple tables
per proxy and avoid those scary configs with hundreds of empty backends
that just carry one stick-table each.

> > [...] We
> > could even consider backporting a warning for such cases in 3.0 so as
> > to limit the surprise if we were to drop that right now.
> 
> +1

Thanks for sharing your views on this!

Willy


Reply via email to