[rabbitmq-discuss] Often failed to produce message due to TIMEOUT WAITING FOR ACK

Matthias Radestock matthias at rabbitmq.com
Tue Sep 25 07:32:04 BST 2012


Wong,

On 25/09/12 03:46, Wong Kam Hoong wrote:
> com.rabbitmq.client.ShutdownSignalException: clean channel shutdown;
> reason: #method<channel.close>(reply-code=406, reply-text=TIMEOUT
> WAITING FOR ACK, class-id=0, method-id=0)
>          at
> com.rabbitmq.client.impl.ChannelN.waitForConfirms(ChannelN.java:182)
>
> Based on the log, the problem seems like related to "*NACKS Received*"
> and "*ChannelN*" code throw the TimeoutException with reply-code *406
> *(PRECONDITION_FAILED).

I don't think it has anything to do with nacks - unless you are actually 
seeing some exception mentioning nacks.

Looks like a straightforward timeout.

> I check all RabbitMQ servers are still working fine and I believe the
> time I set for *waitForConfirmsOrDie *(10000) should be sufficient enough.

10s should indeed generally be long enough. But one can certainly 
envision scenarios where it won't be. What's the general health of your 
rabbit when this happens? Plenty of free memory and disk? No strange 
errors in the logs? Are you using mirrored/HA queues at all? Could there 
possibly be a spike, i.e. lots of messages getting published in a short 
space of time?


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list