activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ed Kaltenbach <ekaltenb...@ara.com>
Subject RE: FW: STOMP server quits sending to all subscribers when one client disconnects
Date Thu, 21 Jul 2016 17:56:12 GMT
John,
I had some time this morning to try against the 1.3 standalone broker.  The problem seems
to be fixed in 1.3.  I first tried two clients, each with a unique subscription ID, and could
not replicate the error.  When one client ended, the other client still posted and received
messages from the topic.  
I also tried it with both clients using the same subscription ID.  I could not replicate the
error here either.  When one client ended, the other continued to send and receive messages.
I even killed one of the clients abruptly and the other one continued to send and receive
messages.

So, in summary, the problem seems to be fixed in 1.3.

How confident are people that Artemis 1.3 will work in Wildfly 10 seamlessly?

Ed

-----Original Message-----
From: John D. Ament [mailto:johndament@apache.org] 
Sent: Tuesday, July 19, 2016 5:22 PM
To: dev@activemq.apache.org
Subject: Re: FW: STOMP server quits sending to all subscribers when one client disconnects

Ed,

Sorry one more thing to try.  Can you try against the 1.3 standalone broker instead of the
1.1 that ships w/ Wildfly?  I'm wondering if the auto creation feature fixes this error.

John

On Tue, Jul 19, 2016 at 11:35 AM Ed Kaltenbach <ekaltenbach@ara.com> wrote:

>
>
> I just modified my test client application so that each client has a 
> unique subscription id.  Here is the new code:
>
>
>
> String destID = String.format("%d", System.currentTimeMillis());
>
> msg = "SUBSCRIBE\n";
>
> msg = msg + "destination:" + topicName + "\n";
>
> msg = msg + "id:" + destID + "\n";
>
> msg = msg + "ack:auto\n";
>
> msg = msg + "\n";
>
> msg = msg + '\0';
>
>
>
> I still see the same error.  When one of the clients ends, the other 
> clients start getting the “AMQ339001\c Destination does not exist\c 
> jms.topic.ACRS_Exit” error when they try to SEND a message to the JMS topic.
>
>
>
> It all seems to work fine until one of the clients UNSUBSCRIBES, 
> DISCONNECTS, and shutdowns the socket.  All of the clients were 
> receiving all of the messages.
>
>
>
> Here is some new information.  If I run multiple instances of my test 
> client application (the new one that has unique subscription IDs for 
> each
> client) and then I kill one using “ctrl-c” then I see the same error.  
> The other client instance starts getting the “AMQ339001\c Destination 
> does not exist\c jms.topic.ACRS_Exit” error when it tries to SEND a 
> message to the JMS topic.  Therefore, I don’t think the problem is 
> related to the “UNSUBSCRIBE” or “DISCONNECT” messages because they 
> were never sent when the problem started.
>
>
>
> Ed
>
>
>
> *From:* Martyn Taylor [mailto:mtaylor@redhat.com <mtaylor@redhat.com>]
> *Sent:* Tuesday, July 19, 2016 9:00 AM
> *To:* dev@activemq.apache.org
> *Cc:* Ed Kaltenbach <ekaltenbach@ara.com>
>
>
> *Subject:* Re: STOMP server quits sending to all subscribers when one 
> client disconnects
>
>
>
> Hi Ed,
>
>
>
> You mentioned that using a unique subscription ID does not resolve 
> this issue.  Can you confirm that using different subscription IDs 
> across all your clients is the same?  Were you seeing subscription 
> semantics before the error (i.e. was every subscription seeing every message?).
>
>
>
> I've taken a quick look and there may be an issue in the STOMP 
> protocol handler.  The subscription ID is used to identify consumer 
> queues, this could cause some issues with multiple clients using the 
> same subscription ID during unsubscribe.  The subscription ID only 
> needs to be unique within connections 
> https://stomp.github.io/stomp-specification-1.2.html#SUBSCRIBE
>
>
>
> Thanks
> Martyn
>
Mime
View raw message