[rabbitmq-discuss] STOMP adapter lose the last message of a burst

José Micó jose.mico at gmail.com
Fri May 18 06:18:11 BST 2012


I think I've found a somewhat serious bug in the STOMP adapter: after a 
burst of incoming messages, the last one remains buffered somewhere 
indefinitely and is not added to the queue until another message is 
received from the same connection (same with topics). This cause and 
excessive delay to deliver the message to consumers, if it is ever 
delivered. Besides that, that last message is lost if the connection is not 
properly closed.

I've attached a simple script which replicates the bug. It sends burst of 
100 small messages to a queue every 10 seconds. Using the management 
console, we can inspect the count of Ready messages. The expected 
progression is 100 ... 200 ... 300 ... 400 ... 500, but very frequently 
(not always) we get 99 ... 199 ... 299 ... 399 ... 499, as the last message 
is not queued.

Could be that the STOMP parser gets confused after an incomplete frame was 
read from tcp buffer? Any ideas?

Regards,
José
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120517/59a5e2d2/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stomp_bug.pl
Type: text/x-perl
Size: 1181 bytes
Desc: not available
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120517/59a5e2d2/attachment.pl>


More information about the rabbitmq-discuss mailing list