[rabbitmq-discuss] Per Connection Flow Control Issue

Simon MacMullen simon at rabbitmq.com
Thu Oct 25 14:52:00 BST 2012


On 25/10/12 13:00, Brendan Hay wrote:
> I have a strange occurrence with ruby-amqp 0.9.8 and RabbitMQ 2.8.7 /
> Erlang R15B02:
>
> Out of a few hundred connections, it appears that less than half a dozen
> are marked as 'flow' in the mgmt interface.
> The actual channels belonging to these connections are _not_ marked as
> blocked, and are considered 'idle'.

Bear in mind that the "Client blocked" flag on the channel is to tell 
you whether the *client* has blocked the channel by issuing 
"channel.flow", not the server.

I am suspicious that these channels are described as idle though.

> On the client machines, netstat shows the peer sockets to have huge (and
> growing) send queues.
>
> Does anybody have any experience with similar problems? I am yet to
> catch it in the act,
> but it appears flow control must kick in at some point and the
> connection simply does not
> resume reading the pending bytes off the socket after it is issued new
> credits.

What does:

$ rabbitmqctl list_connections name last_blocked_age last_blocked_by

show for these connections? In particular, the last_blocked_age column 
should tell you when flow control last went on for a given connection; 
if it's last_blocked_by is "flow" I would expect that to be a small 
number since flow control should normally go on and off rapidly.

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list