[rabbitmq-discuss] py-amqplib and rabbit default

Matthew Sackman matthew at rabbitmq.com
Sat Jul 31 11:28:29 BST 2010


On Fri, Jul 30, 2010 at 08:01:31PM -0500, tsuraan wrote:
> I just updated to default (wanting to try out the disk persister that
> just merged in), and it doesn't look like py-amqplib can handshake
> with it anymore.  It's protocol header is AMQP\x01\x01\x09\x01 (which
> seems like a strange header for the 0.8 client, but anyhow...).  In
> the bug21673 branch, the handshake pattern was
> AMQP\x01\x01\x<Major>\x<Minor>, but in default, it's now divided into
> AMQP0091, AMQP1109, and AMQP1180.  Why was this done?  Changing the
> header string in py-amqplib is easy enough, but it seems weird that a
> client cannot be compatible with the old rabbit and the new one.

Ahh well the multi-protocol broker stuff landed yesterday so the broker
can now speak AMQP 0-8 and 0-9-1. I wonder whether we've managed to get
protocol negotiation wrong. I'm afraid I've not worked on that area of
the codebase and don't really understand the bizarre complexities of
protocol negotiation in AMQP at all so this might have to wait until
Monday... What may be more likely is that the py-amqplib always sent a
0-9-1 protocol header which we accepted and told it we were only going
to speak 0-8 to it. But it may be the 0-9-1 header it was sending was
actually wrong as far as the 0-9-1 spec says. Certainly I'm aware we've
found other AMQP brokers that get the protocol header wrong too...

Matthew


More information about the rabbitmq-discuss mailing list