Hi,
we're facing another issue with Artemis.
Often it happens that after a client disconnects not gracefully (could be
for many reasons: energy loss, network loss, etc.), Artemis doesn't accept
anymore a connection with the same client id. This results, of course, in a
situation where the client cannot connect any more (unless I restart
Artemis). I seems like Artemis doesn't "really" disconnect the client.
Inside the log (set on TRACE level) I see all the activities that I expect:
1) client connects
2) client sends and receives messages correctly
3) client makes PINGREQ and receives PINGRESP correctly
4) Artemis checks the TTL of the specific connection id related to that
client
5) When client goes down, after <keepaliveSetAtClientSide> * 1,5 seconds
(which in our case result in 90 seconds) Artemis realizes that the specific
connection id is broken, and it disconnects it.
But at this point the client cannot connect any more.
Every time I try to connect by using that specific client id, it is
rejected. And I have no error inside the log. It seems simply as the broker
"think" that a connection with that client id is still up and running. If I
connect with another client id and try to send a message to a topic where
the broken client id was subscribed to, I see inside the log that Artemis
try to send the message to that client id:
MQTT(<clientid>): OUT >> PUBLISH(1) EXACTLY_ONCE
...but really there's no connection for that client id. Not more, anyway.
Unfortunately I'm not yet able to reproduce the bug sistematically. But I'm
hard working to do it, because it's pretty much blocker to us.

Thanks

Francesco




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Artemis-rejects-the-clientid-after-client-disconnection-tp4727426.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to