[rabbitmq-discuss] RabbitMQ Consumer stops responding after some time

Tim Watson tim at rabbitmq.com
Tue Mar 19 10:05:54 GMT 2013


Hi,

On 19 Mar 2013, at 09:54, VIKALP HANDA wrote:
> The messages are not arriving at the queue though being sent by the producer. That means, no messages no processing. I think it might be the case of peer connection being closed. Is there any parameter or something that sets the connection timeout? I am using rabbitmq version 3.0.3. 
> 

Connection timeouts are mostly determined by the underlying TCP stack and operating system configuration. If you have sent a message and it is not arriving at the queue, can you see it arriving at the exchange it is being sent to? If it *does* arrive at the exchange, this is probably indicative of an error in your bindings (between the published-to exchange and the queue from which you wish to receive messages sent to that exchange). If it does *not* arrive at the exchange, then you should check that the network link is established and working at the time of sending. There are various ways to do this, but a simple mechanism to ensure messages arrive is to enable publisher confirms (see http://rabbitmq.com/confirms.html for details) which will ensure that the brokers sends an ACK for each message it has taken responsibility for - the reliability guide (http://www.rabbitmq.com/reliability.html) has some more information about this too.

I have no idea if the amqp-c client has any support for publisher confirms. If it does not, then you can verify the state of the connection(s) using the management plugin and/or a tool such as wireshark. You can also use the firehose tracer (http://www.rabbitmq.com/firehose.html) to trace message routing through your topology. 

Cheers,
Tim

> 
> On Tue, Mar 19, 2013 at 2:57 PM, Tim Watson <tim at rabbitmq.com> wrote:
> Hi,
> 
> On 19 Mar 2013, at 08:36, VIKALP HANDA wrote:
> > Actually I am new to Rabbitmq and am using amqp-c client as a base for my C++ wrapper.
> > I have created a consumer which stops responding after some time as well as after bulk of messages being sent to it.
> 
> What does 'stops responding' actually mean? Does the consumer cease processing messages (when there are still un-acked messages in the queue(s) it is consuming from) or is the problem something else.
> 
> > I have heartbeat count =0 and in the management plugin view its showing that the connections are still live.
> 
> Just because the server still sees a connection, doesn't mean that the physical network link remains - operating systems can take 'quite some time' to notice unresponsive peers. Also, I didn't realise that the amqp-c client had support for heartbeats? Perhaps the maintainer can clear that up though, as it's quite possible it does but I've simply forgotten.
> 
> > Could you please help me  in rectifying the issue.
> >
> 
> We'll do our best to help. If you could clarify what specific (and unexpected) behaviour your seeing in the consumer, then we'll take it from there.
> 
> Cheers!
> Tim
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> <Rabbitmq.png>_______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss



More information about the rabbitmq-discuss mailing list