This should be resolved as a corollary change in the next release via ARTEMIS-966 [1].
The solution is close to the second option you proposed. Clients using different acceptors will *not* be able to connect concurrently. However, the link-stealing behavior will be based on whatever is configured on the acceptor which the client used. Justin [1] https://issues.apache.org/jira/browse/ARTEMIS-966 On Fri, Aug 25, 2023 at 3:20 AM andrea bisogno <bisoma...@hotmail.it> wrote: > Hi support, > > I observed an unexpected behavior while testing the Artemis Broker (v > 2.29.0): > > if we have two MQTT connections with the same clientId open at the same > time (possible only with two clients opening two different connections with > same clientId to different MQTT acceptors/ports, regardless of the stealing > link configuration that is on acceptor base), messages are balanced among > the two subscribers: this means each subscriber receives half of the data. > > In my opinion, the expected behavior should be one of these two: > > * if it is possible to keep open different MQTT connections with the > same clientId on different acceptors, all the subscribers should receive > all the data. This because there is no way to prevent a second MQTT client > opens a connection to a different acceptor with a clientId already used, > and in that case it is not correct to prevent the first client to receive > all the messages > * on the other side, probably it should not be possible to have two > MQTT connections with the same clientId open at the same time (regardless > of the target acceptor), and the stealing link configuration should became > a global setting, and not a setting on acceptor base. In fact, in case we > can only have a single connection with a given clientId for all the > acceptors, the user should be free to choose which connection to keep open > (the first one or the second one), regardless the target acceptor > > What do you think? > > Have a nice weekend, > > Andrea > >