Erlang/OTP Forums

Author Message

<  RabbitMQ mailing list  ~  AMQP v0-9

Guest
Posted: Thu Aug 23, 2007 1:54 pm Reply with quote
Guest
Matthias,

We've had OpenAMQ/RabbitMQ compatibility issue raised once more on
OpenAMQ mailing list:

"And one more important thing that we identified was interoperability
of the brokers. say for example unlike the other middleware systems,
AMQP defines the protocol itself we should be able to send the messages
written in OpenAMQ client to RabitMQ server and vice versa. But with the
current implementations we cant do it. If you all can address that it
will be nice."

We've had discussion about this issue some time ago and at that point it
was unclear whether you are going to support 0-9 version of the
protocol. Was there any decision made meanwhile?

Martin

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
Guest
Posted: Thu Aug 23, 2007 7:55 pm Reply with quote
Guest
Martin,

Martin Sustrik wrote:
> We've had OpenAMQ/RabbitMQ compatibility issue raised once more on
> OpenAMQ mailing list:
> [...]
> We've had discussion about this issue some time ago and at that point it
> was unclear whether you are going to support 0-9 version of the
> protocol. Was there any decision made meanwhile?

I am trying to figure out how to best get RabbitMQ to interop with both
Qpid and OpenAMQ. As you may have seen from the other messages, we've
made some tweaks to get interop with Qpid M1 to work, and will release
those shortly.

The question is, if we move RabbitMQ to 0-9 in order to get interop with
OpenAMQ, how do we maintain interop with Qpid?

Are we going to have to have code that supports both 0-8 and 0-9 and
picks the right one during connection negotiation? That is certainly
possible, but it is quite a bit of work that I'd rather avoid.


Matthias.

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
Guest
Posted: Thu Aug 23, 2007 8:03 pm Reply with quote
Guest
My feeling is that any broker that supports 0-9 (non-WIP) should be able to also trivially support 0-8... So as long as our broker and client code follow the spec on how to negotiate version then we should be able to get interoperability.
Guest
Posted: Thu Aug 23, 2007 8:14 pm Reply with quote
Guest
Robert Godfrey wrote:
> My feeling is that any broker that supports 0-9 (non-WIP) should be able
> to also trivially support 0-8.

It's not that easy, unfortunately. 0-9 makes some changes to existing
methods. For example, channel.open-ok gets an additional channel-id
field, and basic.consume gets an additional filter field. If, like us,
you are auto-generating the codec from the spec then this poses a problem.

Matthias.

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
Guest
Posted: Thu Aug 23, 2007 8:36 pm Reply with quote
Guest
On 23/08/07, Matthias Radestock <matthias@lshift.net (matthias@lshift.net)> wrote:
Quote:
Robert Godfrey wrote:
> My feeling is that any broker that supports 0-9 (non-WIP) should be able
> to also trivially support 0-8.

It's not that easy, unfortunately. 0-9 makes some changes to existing
methods. For example, channel.open-ok gets an additional channel-id
field, and basic.consume gets an additional filter field. If, like us,
you are auto-generating the codec from the spec then this poses a problem.


Qpid auto generates code from the spec, but with changes this small I would think we could work in a few bits of non-generated code to support both versions.
Guest
Posted: Thu Aug 23, 2007 9:38 pm Reply with quote
Guest
Rob

That would be great. Then we have a baseline to work from when
dealing with implementation upgrades (eg your M2 release), and spec
changes (eg 0-10).

alexis


On 8/23/07, Robert Godfrey <rob.j.godfrey@gmail.com> wrote:
>
> On 23/08/07, Matthias Radestock <matthias@lshift.net> wrote:
> > Robert Godfrey wrote:
> > > My feeling is that any broker that supports 0-9 (non-WIP) should be able
> > > to also trivially support 0-8.
> >
> > It's not that easy, unfortunately. 0-9 makes some changes to existing
> > methods. For example, channel.open-ok gets an additional channel-id
> > field, and basic.consume gets an additional filter field. If, like us,
> > you are auto-generating the codec from the spec then this poses a problem.
>
>
> Qpid auto generates code from the spec, but with changes this small I would
> think we could work in a few bits of non-generated code to support both
> versions. Given the degree of change in 0-10 I'm not wanting to expend much
> effort on 0-9 - but I think that having 0-9 compatability at the broker
> really shouldn't be a big deal (it may not be able to be done with
> particular beauty though). [For instance I think Qpid actually already has
> the basic.consume filter argument].
>
> Given Martin's claim that it took them 1 day to implement the changes... i
> would think that it should be possible for Qpid (and Rabbit if you like) to
> have versions that work with both protocol revisions. However the real
> focus will be on getting 0-10 implemented.
>
>
> -- Rob
>
> > Matthias.
> >
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>


--
Alexis Richardson
+44 20 7617 7339 (UK)
+44 77 9865 2911 (cell)
+1 650 206 2517 (US)

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
Guest
Posted: Fri Aug 24, 2007 11:18 am Reply with quote
Guest
> Given Martin's claim that it took them 1 day to implement the changes...
> i would think that it should be possible for Qpid (and Rabbit if you
> like) to have versions that work with both protocol revisions. However
> the real focus will be on getting 0-10 implemented.

It's really not much work (the most difficult task being Queue.Unbind
which is important for clients anyway) and that way we'll show to
outside world that AMQP is really about interoperability - that the
claim in not a total bogus.

It would also allow Qpid and RabbitMQ teams to use Wireshark to dissect
AMQP packets, which is quite useful IMO.

Martin

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum