[rabbitmq-discuss] A weird case of "PRECONDITION_FAILED - unknown delivery tag"

Emile Joubert emile at rabbitmq.com
Wed Aug 28 17:18:50 BST 2013


On 28/08/13 16:39, Razvan Dinu wrote:
> As I mentioned I'm on a python oriented environment, so can't use the
> Tracer you provided directly. 

You can install the Tracer in a location separate from your broker and
client application if needed. It passes frames between the client and
the broker showing the interaction at the AMQP level. Any protocol
analyser with AMQP 0.9.1 capability should work, if you prefer not to
use Java.

> what is the correct way of fetching the messages on one thread and
> doing the work on another (from a synchronization point of view)?

Avoid the need for multiple threads to use a channel in the first place.
If you can't avoid it then you must synchronise the threads around
synchronous AMQP methods, otherwise the protocol stream will become corrupt.

You should also obviously make sure that any shared data structures in
your application (such as prefetch_queue) are thread-safe.


More information about the rabbitmq-discuss mailing list