[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