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

Reply via email to