Hi all, Yesterday I tried some interoperability testing with Qpid Java and C++ and OpenAMQ 1.2c3. I used the topic test client (both C++ and Java versions).
Following on from earlier discussions, we have what I think is a serious issue in that M2 advertises 0-8 protocol version in the ProtocolInitiation, but isn't really 0-8. It is closer to 0-9 but as it turns out isn't 0-9 either. The biggest issue for M2 achieving basic interop with other 0-8 products is the basic.consume extra argument. There is also the issue of Access - Rabbit looks like it needs something around that although there are some docs that enable suppression of it for their java client. For 0-9, which is what OpenAMQ 1.2c3 supports I had to make a couple of changes: 1) channel.open-ok now returns an id 2) connection.close is now index 50 rather than 60 due to some renumbering (redirect used to be 50 but is now 42 (?!?)). There was also a bug in OpenAMQ where it did not respond to the basic.qos method which I had to comment out in our clients. The above test is just about as simple as you can get and today none of the products, with any version, can interoperate. I think we should address this and it is not a huge amount of effort to do so. Here is what I am tentatively proposing: 1) Aim to do an M2.1 release focussing on interop as soon as possible 2) All Qpid products will support 0-9 protocol and only extensions (i.e. non-conflicting) changes are allowed to that protocol. 3) For the interop testing have a small (achievable) but simple pair of tests: a) topic test (I have resurrected the java version and we have a C++ client for this already) b) transactional point to point If others agree I think we should start planning the hopefully small amount of work required to make this happen. I think having interop will help us because it will give users confidence that the AMQP protocol is useful and beneficial. It will also enable easier comparisons of non-functionals to be done across products, and I think we should have enough confidence in Qpid to be sure that it will come out well in such tests. My indications are that we look good on the performance front (see separate email). RG
