Comment 2 for bug 686048

Revision history for this message
Esteve Fernandez (esteve) wrote :

Hi,

I suffered from this problem too, but it happened to be a problem in the code calling txAMQP, not txAMQP itself. In section 2.2.1 of the AMQP 0.9.1 specification [1], methods are grouped in two classes: synchronous and asynchronous. Protocol methods that expect a response (e.g. Queue.declare, Exchange.delete, etc.) must be issued synchronously (i.e. wait for its response) and cannot be pipelined. That means that you'll have to synchronize your methods so that you don't issue a command before the response for the previous command has been processed.

In our case, this was caused by a missing "yield" in an inlineCallbacks decorated function. Given that you can't provide an isolated test, if you send me your code (it'll be treated confidentially), I can have a look at it.

Cheers.

1 - http://www.amqp.org/confluence/download/attachments/720900/amqp0-9-1.pdf?version=1&modificationDate=1227526523000