[rabbitmq-discuss] Consumer without a valid connection

Emile Joubert emile at rabbitmq.com
Fri Aug 19 12:14:13 BST 2011


Hi Andrea,

On 19/08/11 11:27, Rosa, Andrea wrote:

> For some reason, that we can’t understand, we have got a queue with two
> consumers and one of this consumer is using a channel of a connection
> that is not present in the list of connections.

That should not be possible. If you check the connection pid of each
channel with "rabbitmqctl list_channels connection" each of them should
appear in the output of "rabbitmqctl list_connections pid". Is that not
the case?

The output of "rabbitmqctl report" will also contain this information.

> When the publisher send a message to that queue the message is grabbed
> from the queue after 15 minutes!

There are a few ways to diagnose who is responsible for that delay. You
could make all connections via the AMQP Tracer:
http://www.rabbitmq.com/javadoc/com/rabbitmq/tools/Tracer.html

You could observe the AMQP exchanges on the network between the broker
and peers using a protocol analyser, such as Wireshark.

Also consider debugging with the Firehose, which lets you observe
messages entering and leaving the broker. Avoid the network when
consuming the firehose messages. For details see
http://www.rabbitmq.com/firehose.html

> My questions are:
> 
> -        How is it possible that the consumer is using a channel on a
> connection that no more  exists?
> 
> -        Why there is this delay in grabbing messages? My expectation is
> that the consumer listening to the correct connection can fetch the
> message immediately
> 
> -        The “wrong” consumer can block the access to the queue?

Is the network between the broker and peers reliable? Consider turning
on AMQP heartbeats if the broker and peers do not about connections.


Emile



More information about the rabbitmq-discuss mailing list