Hi Tim, I get your point but they are third parties.
I understand the problem will have to write a plug-in I think.. Dave On Fri, Jul 23, 2021, 10:08 PM Tim Bain, <tb...@alumni.duke.edu> wrote: > Maybe I'm oversimplifying this, but isn't the client required to use a > unique client ID, and we're splitting hairs over the exact undefined > behavior that occurs when something invalid is done? It seems like the real > solution is to modify the client applications to make them use unique > client IDs, not to try to fine-tune the race conditions of the broker's > attempt to handle the client's bug a little more gracefully... > > Tim > > On Fri, Jul 23, 2021, 6:37 AM Domenico Francesco Bruscino < > bruscin...@gmail.com> wrote: > > > Hi David, > > > > it could be a timing issue, when a first client connects to a broker, it > > sends a notification to other brokers of the cluster. So if a second > client > > with the same clienID connects to another broker of the cluster before it > > receive the notification, the second broker accepts the connection. > > > > You could easily fix this issue by redirecting each client with the same > > clientID to the same broker. > > > > Regards, > > Domenico > > > > > > On Fri, 23 Jul 2021 at 14:02, David Martin <dav...@qoritek.com> wrote: > > > > > Hi Domenico, > > > > > > OK thanks I'll have a look at that. > > > > > > Was considering writing a plugin to block authorisation when the same > > > client ID is already connected elsewhere on the cluster, with leader > > > election via a multicast queue. > > > > > > I'm puzzled why it's behaving this way though. It's not consistent. > > Usually > > > it prevents the double connection but on occasion it doesn't. > > > > > > > > > > > > Dave > > > > > > > > > On Fri, 23 Jul 2021 at 10:48, Domenico Francesco Bruscino < > > > bruscin...@gmail.com> wrote: > > > > > > > Hi Dave, > > > > > > > > I'm working on a new ActiveMQ Artemis feature that allows users to > > > > balance incoming client connections according to their ClientID (or > > other > > > > connection parameters), see the draft documentation[2] for further > > > details. > > > > > > > > [2] > > > > > > > > > > > > > > https://github.com/brusdev/activemq-artemis/blob/broker_balancers/docs/user-manual/en/broker-balancers.md > > > > > > > > Regards, > > > > Domenico > > > > > > > > On Fri, 23 Jul 2021 at 11:01, David Martin <dav...@qoritek.com> > wrote: > > > > > > > > > Hi all, > > > > > > > > > > Puzzled by some behaviour we're seeing on a broker cluster of 3 > live > > > > > Artemis v2.16.0 brokers hosted on k8s which has an F5 in front of > it > > > > > terminating TLS and routing to a k8s node port forwarding to an > AMQP > > > > > acceptor for each broker. The cluster is healthy and has been up > for > > > > about > > > > > 2 months without interruption. Each broker has its own storage. The > > > > address > > > > > routing is set up with redistribution delay = 0 and the clustering > is > > > > using > > > > > all default settings and static discovery. > > > > > > > > > > Clients all use *non-shared* durable topic subscriptions via QPID > JMS > > > > v1.0. > > > > > > > > > > What we're seeing is that if two separate physical clients attempt > to > > > > open > > > > > a connection using the same client ID, Artemis *occasionally* > allows > > > both > > > > > to succeed and allows both to consume the durable subs on 2 > different > > > > > brokers. I thought this was only possible if round-robin routing > was > > > > > explicitly enabled on the clustering configuration by configuring > > > STRICT > > > > > message load balancing instead of the default ON_DEMAND. Of course, > > due > > > > to > > > > > the F5, it will appear to Artemis that both clients are running on > > the > > > > same > > > > > physical host. > > > > > > > > > > Is there some "belt and braces" way to prevent 2 connections with > one > > > > > client id in addition to the message load balancing configuration? > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > Dave > > > > > > > > > > > > > > >