[rabbitmq-discuss] librabbitmq-c and amqp_channel_close

Matthias Radestock matthias at rabbitmq.com
Fri Jun 22 16:55:25 BST 2012


Brennan,

On 22/06/12 16:45, Brennan Sellner wrote:
> We've been using librabbitmq-c on our robots for the past several months
> with a fair amount of success (we last synced to the repository on May
> 10th). However, we're very occasionally seeing amqp_channel_close take
> over 3 seconds to complete, when connected to an RMQ server on the same
> machine via the loopback (127.0.0.1) interface. I haven't been able to
> reproduce it reliably, but it happens in production about once a day,
> and our logging is pretty conclusive that this call is the culprit:
>
> amqp_channel_close ( m_Conn, subscriptionId, AMQP_REPLY_SUCCESS );

Closing a channel is a synchronous operation, the completion of which 
provides various guarantees on resource reclamation (e.g. exclusive 
queues get deleted, etc). Depending on what operations were performed on 
that channel prior to closure a fair amount of tidying up / cleaning up 
might take place, some of which involves taking (the equivalent) of 
exclusive write logs on server-wide shared data structures, doing 
fsyncs, etc.

So what you are seeing may not be unusual.

Matthias.


More information about the rabbitmq-discuss mailing list