Killing STOMP client stalls the Q forever until a new message is written to
that Q
----------------------------------------------------------------------------------
Key: AMQ-1203
URL: https://issues.apache.org/activemq/browse/AMQ-1203
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 4.1.1
Environment: AS3 linux
Reporter: Joel Schaubert
Priority: Minor
Using STOMP C client subscribed 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 (or more readers if 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.
------ copy of Hiram's comments from AMQ-1192 ------------
I think this is due to the socket being killed but the server side not
noticing. But it will notice once it tries to send it a message, so the it
shutdown the dead socket and redelivers all messages queued for the client. On
some OSes the TCP timeout interval can be tweaked. Otherwise, keep alive
packets would need to be periodically transmitted in Stomp so that the server
could detect a dead client sooner. Keep alives have not been added to Stomp
yet.. but could be in a future version.
------------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.