<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 {"creationDate":1348458796689,"lastModified":1348458796689,"queueMessage":{"id":44519977,"creationDate":1348458796688,"shortCode":28933,"serviceId":602,"lastModified":1348458796688,"operatorCode":13,"mcc":502,"msgId":"6e04.7dc9180b350b.00000195","class":"nplay.json.data.SnsInMessageValue","scheduledTime":1348458796688,"dataValue":{"message":"@ohhAzirahAzid: start matrik aku suka duduk kat library","creationDate":1348458796688,"shortCode":28933,"lastModified":1348458796688,"mcc":502,"operatorCode":13,"msisdn":60134406223,"class":"nplay.json.data.SmsOutMessageValue","scheduledTime":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<channel.close>(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<channel.close>(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 "<b>NACKS Received</b>" and "<b>ChannelN</b>" 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 & Regards,</div><div>Wong</div>