You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Scott M Messner (Jira)" <ji...@apache.org> on 2020/11/27 19:43:00 UTC

[jira] [Created] (AMQ-8091) ClientIdSet indefinitely contains obsolete ids (when connection is not closed properly)

Scott M Messner created AMQ-8091:
------------------------------------

             Summary: ClientIdSet indefinitely contains obsolete ids (when connection is not closed properly)
                 Key: AMQ-8091
                 URL: https://issues.apache.org/jira/browse/AMQ-8091
             Project: ActiveMQ
          Issue Type: Bug
          Components: Transport
    Affects Versions: 5.16.0
         Environment: ActiveMQ 5.16.0 standalone running on ec2-equivalent VMs with CentOS7.
            Reporter: Scott M Messner
         Attachments: AMQBrorkerTraces_obsoletClientId.txt, AMQClientTraces_obsoletClientId.txt

Hello Everyone,

I'm trying to debug some strange issues with my cloud-deployed ActiveMQ Broker. I've run into an unfortunate side-bug. I figured I would present this particular problem with hopes that someone else might have the time to write the test and reproduce. If not, I'll come back later with the test to reproduce on a more functional deployment.

My current brokers are manifesting some strange transport issues where my client is able to successfully connect, but thereafter does nothing (no authentication, no opening of sessions, etc). This, I imagine is a deeper networking issue that I intend to investigate further. If I find more info I may create a separate issue.

At the same time, I noticed that re-running my test fails with javax.jms.InvalidClientIDException – The clientId is already taken. It remains this way indefinitely. The activemq admin console does not show any connections with this particular clientId.

When reviewing the code I can see that clientIds are removed from the clientIdSet during the Broker.removeConnection() method.

If the connection is not closed properly will there be a sort of connection garbage collection (the same that is done for unused destinations for example) that will ensure the these clientIds are removed from the set ? 

Thanks in advance for your help.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)