[rabbitmq-discuss] Un used connections at broker
Michael Klishin
mklishin at gopivotal.com
Mon Feb 3 11:02:14 GMT 2014
On 3 Feb 2014, at 14:47, Lothe Shashank <Shashank.Lothe at techmahindra.com> wrote:
> I have few queries regarding RMQ broker behaviour. The sequence is as follows.
> 1. A client created a connection (Connection A) and a queue (Queue A) (auto-delete, non exclusive, non durable) on a broker.
> 2. After some time I created one more connection (Connection B) and I deleted the queue Queue A. I did not destroy Connection A and is unused henceforth.
>
> My queries are as follows.
> 1. What happens to the unused connection A? Will it be deleted by Broker eventually?
No. Consumers on connection A will receive a consumer cancel notification:
http://www.rabbitmq.com/consumer-cancel.html
> 2. Will the resources allocated by connection A be deallocated by the broker?
See above.
> 3. If I create n number of connections which are unused will the performance of broker be affected?
Up to a certain point (say, a few hundreds) the effect will be irrelevant. If you leave unused
connections open, however, eventually you may run out of available file descriptors and RabbitMQ will
stop accepting new connections.
> 4. Will garbage collector detect the unused connection?
There is no garbage collection for inactive connections.
> One more sequence I would like to mention.
> 1. A client created a connection (Connection A) and a queue (Queue A) (auto-delete, non exclusive, non durable) on a broker.
> 2. I pulled out power cable/network cable from the client.
> 3. I am not sure if the broker has detected the connection failure with client as the queue A created at the broker is not deleted
Yes, RabbitMQ will eventually detect connection failure. It will take some time, due to how TCP works.
Connections in RabbitMQ are orthogonal to queues. I’d recommend reading
http://www.rabbitmq.com/tutorials/amqp-concepts.html and other tutorials:
http://www.rabbitmq.com/getstarted.html
in case you are not sure about the concepts.
MK
Software Engineer, Pivotal/RabbitMQ
More information about the rabbitmq-discuss
mailing list