[ 
https://issues.apache.org/activemq/browse/AMQ-1192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38808
 ] 

Joel Schaubert commented on AMQ-1192:
-------------------------------------

Retested with   ack set to client during subscribe operations after talking to 
Hiram.

#1) Ghost client issues are totally resolved in client ack mode
#2) Missing messages resolved in client ack mode

#3) New problem in client ack mode
A) send 20 messages into a Q
B) startup slow reader, read 5 messages and control-C without allowing client 
to send DISCONNECT
C) restart a reader (as many as desired)
D) the remaining 15 messages are still present but none will be delivered to 
the STOMP clients until at least 1 new message is written into the Q.

So no loss of messages under these conditions but Q is effectively stalled 
until a new message is written in.


> STOMP client cannot be stopped and disconnected without loosing messages
> ------------------------------------------------------------------------
>
>                 Key: AMQ-1192
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1192
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 4.1.0
>         Environment: C stomp client on AS3 linux
> apache-activemq-4.1.0-incubator 
> apache APR 0.9.7
>            Reporter: Joel Schaubert
>         Attachments: activemq_tester.c
>
>
> I have added to the STOMP tester so it can take command line args for number 
> of message to be read/sent.  Using this the following tests will show the 
> problems
> #1)  All messages are lost when a client does STOMP disconnect
> 1.1 start a subscriber to read 5 messages
> ./activemq_tester -d sub -m 5
> 1.2 start a publisher to publish 10 messages
> ./activemq_tester -d pub -m 10
> 1.3 run subscriber again to get the remaining 5 messages
> ./activemq_tester -d sub -m 5
> ---> No messages are available for the second run of the test subscriber.  It 
> seems there is no way to shutdown a stomp client without loosing all the 
> messages on that q.
> Output here.
> -bash-2.05b$ ./activemq_tester -d pub -m 10
> Connecting......OK
> Sending connect message.OK
> Reading Response.Response: CONNECTED, 
> OK
> Sending Message.Sending Message: This is message number 0
> Sending Message: This is message number 1
> Sending Message: This is message number 2
> Sending Message: This is message number 3
> Sending Message: This is message number 4
> Sending Message: This is message number 5
> Sending Message: This is message number 6
> Sending Message: This is message number 7
> Sending Message: This is message number 8
> Sending Message: This is message number 9
> OK
> Sending Disconnect.OK
> Disconnecting...OK
> --- first run of subscriber ----------------------
> -bash-2.05b$ ./activemq_tester -d sub -m 5
> Connecting......OK
> Sending connect message.OK
> Reading Response.Response: CONNECTED, 
> OK
> Sending Subscribe.OK
> Reading Subscribed Messsages.Received: MESSAGE, This is message number 0
> Received: MESSAGE, This is message number 1
> Received: MESSAGE, This is message number 2
> Received: MESSAGE, This is message number 3
> Received: MESSAGE, This is message number 4
> OK
> Sending Disconnect.OK
> Disconnecting...OK
> ----- second run of subscriber -----------------
> -bash-2.05b$ ./activemq_tester -d sub -m 5
> Connecting......OK
> Sending connect message.OK
> Reading Response.Response: CONNECTED, 
> OK
> Sending Subscribe.OK
> Reading Subscribed Messsages.
> =======> None of the remaning message numbers 5...9 are available.  They are 
> lost.
> 2) Now to see the ghost STOMP subscriber problem, hit control-C to stop the 
> subscriber.
> Then rerun subscriber and publisher and see the following output.....
> (publisher output not shown here, same as before)
> -bash-2.05b$ ./activemq_tester -d sub -m 5
> Connecting......OK
> Sending connect message.OK
> Reading Response.Response: CONNECTED, 
> OK
> Sending Subscribe.OK
> Reading Subscribed Messsages.Received: MESSAGE, This is message number 1
> Received: MESSAGE, This is message number 3
> Received: MESSAGE, This is message number 5
> Received: MESSAGE, This is message number 7
> Received: MESSAGE, This is message number 9
> OK
> Sending Disconnect.OK
> Disconnecting...OK

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to