[rabbitmq-discuss] Patching rabbitmq to get more information about framing exceptions

Matthias Radestock matthias at rabbitmq.com
Thu Jul 21 07:31:01 BST 2011


Michael,

On 21/07/11 03:51, Michael Klishin wrote:
> So far I narrowed it down to the "empty messages" problem: whenever
> there is an empty message sent by amqp gem master version, RabbitMQ
> doesn't consider it a complete message and thus clients do not get
> anything. With a simple script that terminates as soon as the message is
> received
> (by the same process), this looks like app is hanging. In the context of
> a larger application, sometimes there are empty messages transmitted (I
> am streaming a stdout output).
>
> After comparing 2 clients I see the following picture: the data
> transmitted is exactly the same, frame order is correct but Wireshark
> GUI suggests that
> one client transmits 3 frames as 3 IP packets. In this case, RabbitMQ is
> happy. The other transmits them all in a single IP packet and RabbitMQ
> doesn't seem to recognize it as a complete message.
>
> Here are two Wireshark session exports:
> https://gist.github.com/1096404
>
> If the [frames] content is the same, what may be going on here?

That's curious. Both should cause rabbit to complain with the "expected 
method frame, got non method frame instead" error. Are you sure you are 
seeing different behaviour here? If so, please send through the pcap 
files showing the entire tcp session.

Content body frames should never be zero length. If the content length 
is zero then no content body frame should be sent at all, just a header.


Matthias.


More information about the rabbitmq-discuss mailing list