<div>Hi RabbitMQ Team,</div><div><br></div><div><div><b><u>My RabbitMQ</u></b></div><div>Version : 2.8.6</div><div>Cluster Environment : Yes, All Nodes in Disk Mode</div></div><div>waitForConfirmsOrDie: Yes, 10000</div><div>
<br></div><div>Recently I found that my program often failed to produce messages to the RabbitMQ server due to following exception:</div><div><br></div><div><b><u>EXCEPTION LOG</u></b></div><div><span style="background-color:rgb(255,255,153)">2012-09-24 11:53:19,665 WARN [INMSG-6] RabbitMQQueueSession - Failed to produce message {&quot;creationDate&quot;:1348458796689,&quot;lastModified&quot;:1348458796689,&quot;queueMessage&quot;:{&quot;id&quot;:44519977,&quot;creationDate&quot;:1348458796688,&quot;shortCode&quot;:28933,&quot;serviceId&quot;:602,&quot;lastModified&quot;:1348458796688,&quot;operatorCode&quot;:13,&quot;mcc&quot;:502,&quot;msgId&quot;:&quot;6e04.7dc9180b350b.00000195&quot;,&quot;class&quot;:&quot;nplay.json.data.SnsInMessageValue&quot;,&quot;scheduledTime&quot;:1348458796688,&quot;dataValue&quot;:{&quot;message&quot;:&quot;@ohhAzirahAzid: start matrik aku suka duduk kat library&quot;,&quot;creationDate&quot;:1348458796688,&quot;shortCode&quot;:28933,&quot;lastModified&quot;:1348458796688,&quot;mcc&quot;:502,&quot;operatorCode&quot;:13,&quot;msisdn&quot;:60134406223,&quot;class&quot;:&quot;nplay.json.data.SmsOutMessageValue&quot;,&quot;scheduledTime&quot;:1348458796688}}} : priority 4 to QUEUE_SMS_IN_4</span></div>
<div><span style="background-color:rgb(255,255,153)">com.rabbitmq.client.ShutdownSignalException: clean channel shutdown; reason: #method&lt;channel.close&gt;(reply-code=406, reply-text=TIMEOUT WAITING FOR ACK, class-id=0, method-id=0)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at com.rabbitmq.client.impl.ChannelN.waitForConfirms(ChannelN.java:182)</span></div><div><span style="background-color:rgb(255,255,153)">        at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:217)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at nplay.json.rabbitmq.client.RabbitMQQueueSession.produceTextMessage(RabbitMQQueueSession.java:124)</span></div><div><span style="background-color:rgb(255,255,153)">        at nplay.common.mq.AQueueClient.produceTextMessage(AQueueClient.java:111)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at nplay.json.rabbitmq.client.QueueJsonRabbitMQClient.produceTextMessage(QueueJsonRabbitMQClient.java:289)</span></div><div><span style="background-color:rgb(255,255,153)">        at nplay.common.mq.AQueueClient.send(AQueueClient.java:185)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at nplay.common.mq.AQueueClient.send(AQueueClient.java:275)</span></div><div><span style="background-color:rgb(255,255,153)">        at nplay.endpoint.json.smpp.SnsInHandler.sendQueueMessage(SnsInHandler.java:21)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at nplay.endpoint.json.smpp.SnsInHandler.sendQueueMessage(SnsInHandler.java:11)</span></div><div><span style="background-color:rgb(255,255,153)">        at nplay.endpoint.json.smpp.AIncomingMessageHandler.update(AIncomingMessageHandler.java:60)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at nplay.endpoint.json.AJsonHandler.update(AJsonHandler.java:25)</span></div><div><span style="background-color:rgb(255,255,153)">        at java.util.Observable.notifyObservers(Observable.java:142)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at nplay.endpoint.common.ASpringEventSource.process(ASpringEventSource.java:202)</span></div><div><span style="background-color:rgb(255,255,153)">        at nplay.endpoint.common.ASpringEventSource.run(ASpringEventSource.java:157)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at java.lang.Thread.run(Thread.java:619)</span></div><div><span style="background-color:rgb(255,255,153)">        at nplay.common.util.ThreadManager$ManagableThread.run(ThreadManager.java:52)</span></div>
<div><span style="background-color:rgb(255,255,153)">Caused by: com.rabbitmq.client.ShutdownSignalException: clean channel shutdown; reason: #method&lt;channel.close&gt;(reply-code=406, reply-text=TIMEOUT WAITING FOR ACK, class-id=0, method-id=0)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at com.rabbitmq.client.impl.ChannelN.close(ChannelN.java:521)</span></div><div><span style="background-color:rgb(255,255,153)">        at com.rabbitmq.client.impl.ChannelN.close(ChannelN.java:480)</span></div>
<div><span style="background-color:rgb(255,255,153)">        at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:222)</span></div><div><span style="background-color:rgb(255,255,153)">        ... 14 more</span></div>
<div><br></div><div><br></div><div>Based on the log, the problem seems like related to &quot;<b>NACKS Received</b>&quot; and &quot;<b>ChannelN</b>&quot; code throw the TimeoutException with reply-code <b>406 </b>(PRECONDITION_FAILED). </div>
<div><br></div><div>I check all RabbitMQ servers are still working fine and I believe the time I set for <b>waitForConfirmsOrDie </b>(10000) should be sufficient enough.</div><div><br></div><div><br></div><div>Can you advise me on the problem? How to solve it?</div>
<div><br></div><div><br></div><div>Thanks &amp; Regards,</div><div>Wong</div>