Erlang Mailing Lists

Author Message

<  RabbitMQ mailing list  ~  Problems while trying interoperability

Guest
Posted: Thu Aug 16, 2007 12:39 am Reply with quote
Guest
Hi,
Guest
Posted: Thu Aug 16, 2007 7:35 am Reply with quote
Guest
Tanmay,

Goel, Tanmay wrote:
> when I try to run a RabbitMQ client (attached,
> SimpleProducer.java) against Qpid broker (with the default configuration
> provided when I first downloaded it, no change), I get the following
> exception. The exception is thrown on this like of code: *
>
> *int ticket = ch.accessRequest("/test");*
>
> *Intuitively, this method is not provided by the Qpid broker. Is it?*

You are probably right and this method is indeed unimplemented in Qpid.
It certainly wasn't when we ran the tests ~6 months ago, as noted in
http://www.rabbitmq.com/interoperability.html

You can probably just skip that request and use a ticket number of 0,
with RabbitMQ's lax_mode enabled (which it is by default - see above page).

> *Also, there is no
Guest
Posted: Thu Aug 16, 2007 9:15 am Reply with quote
Guest
Hi, at some point I added implementations of access ticket to the Qpid client to allow us to interoperate with the RabbitMQ broker... if the code has disappeared I can put it back in.

At present Qpid does not implement the access ticket / realm parts of AMQP.

Hope this helps,
Rob

On 16/08/07, Matthias Radestock <matthias@lshift.net (matthias@lshift.net)> wrote:
Quote:
Tanmay,

Goel, Tanmay wrote:
> when I try to run a RabbitMQ client (attached,
> SimpleProducer.java) against Qpid broker (with the default configuration
> provided when I first downloaded it, no change), I get the following
> exception. The exception is thrown on this like of code: *
>
> *int ticket = ch.accessRequest("/test");*
>
> *Intuitively, this method is not provided by the Qpid broker. Is it?*

You are probably right and this method is indeed unimplemented in Qpid.
It certainly wasn't when we ran the tests ~6 months ago, as noted in
http://www.rabbitmq.com/interoperability.html

You can probably just skip that request and use a ticket number of 0,
with RabbitMQ's lax_mode enabled (which it is by default - see above page).

> *Also, there is no "client-name" passed as a parameter at the time of
> establishing connection to the RabbitMQ connection constructor but is
> passed to the Qpid connection constructor. If and how will this effect?*

I have no idea what the "client-name" value is for. Perhaps the QPid
client passes that value as part of the peer properties exchanged during
connection negotiation, in which case it's informational only, i.e. it
shouldn't affect the behaviour.

> *Alternatively, when I tried to run a Qpid client against a RabbitMQ
> broker (again, with the default settings, virtual hosts, etc). I got the
> following error message at the first line of code: _connection = new
> AMQConnection("localhost", 5672, "guest", "guest", "clientid", "/data");*

What do the RabbitMQ server logs (stdout, rabbit.log, rabbit-sasl.log) say?

What version of QPid are you running? The M1 release?

Regards,

Matthias.

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com (rabbitmq-discuss@lists.rabbitmq.com)
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss



Post recived from mailinglist
Guest
Posted: Thu Aug 16, 2007 11:40 am Reply with quote
Guest
Rob,

Anything to minimise Qpid / RabbitMQ deltas on how the spec is
implemented would be great - thanks. We'll do the same if the case
arises. And thanks very much for being on this group so we can work
with your team to ensure interop is real and not vapour.

Tanmay,

As Matthias pointed out, pending a patch of the type Rob mentions, you
can also do this as an interop workaround:

1) Qpid client -> RabbitMQ broker --- run RabbitMQ in "lax" mode (ie
we reduce our spec implementation surface for interop).
2) RabbitMQ client -> QPid server --- do not do the accessRequest and
use a hard-coded ticket# instead

For (1) lax mode is enabled by default so please *do* send us your logs.

Cheers

alexis






On 8/16/07, Robert Godfrey <rob.j.godfrey@gmail.com> wrote:
> Hi, at some point I added implementations of access ticket to the Qpid
> client to allow us to interoperate with the RabbitMQ broker... if the code
> has disappeared I can put it back in.
>
> At present Qpid does not implement the access ticket / realm parts of AMQP.
>
> Hope this helps,
> Rob
>
>
> On 16/08/07, Matthias Radestock <matthias@lshift.net> wrote:
> > Tanmay,
> >
> > Goel, Tanmay wrote:
> > > when I try to run a RabbitMQ client (attached,
> > > SimpleProducer.java) against Qpid broker (with the default configuration
> > > provided when I first downloaded it, no change), I get the following
> > > exception. The exception is thrown on this like of code: *
> > >
> > > *int ticket = ch.accessRequest("/test");*
> > >
> > > *Intuitively, this method is not provided by the Qpid broker. Is it?*
> >
> > You are probably right and this method is indeed unimplemented in Qpid.
> > It certainly wasn't when we ran the tests ~6 months ago, as noted in
> > http://www.rabbitmq.com/interoperability.html
> >
> > You can probably just skip that request and use a ticket number of 0,
> > with RabbitMQ's lax_mode enabled (which it is by default - see above
> page).
> >
> > > *Also, there is no "client-name" passed as a parameter at the time of
> > > establishing connection to the RabbitMQ connection constructor but is
> > > passed to the Qpid connection constructor. If and how will this effect?*
> >
> > I have no idea what the "client-name" value is for. Perhaps the QPid
> > client passes that value as part of the peer properties exchanged during
> > connection negotiation, in which case it's informational only, i.e. it
> > shouldn't affect the behaviour.
> >
> > > *Alternatively, when I tried to run a Qpid client against a RabbitMQ
> > > broker (again, with the default settings, virtual hosts, etc). I got the
> > > following error message at the first line of code: _connection = new
> > > AMQConnection("localhost", 5672, "guest", "guest", "clientid",
> "/data");*
> >
> > What do the RabbitMQ server logs (stdout, rabbit.log, rabbit-sasl.log)
> say?
> >
> > What version of QPid are you running? The M1 release?
> >
> > Regards,
> >
> > Matthias.
> >
> > _______________________________________________
> > rabbitmq-discuss mailing list
> > rabbitmq-discuss@lists.rabbitmq.com
> >
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> >
>
>
> _______________________________________________
> 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: Thu Aug 16, 2007 12:33 pm Reply with quote
Guest
On 16/08/07, Alexis Richardson <alexis.richardson@cohesiveft.com> wrote:
> Rob,
>
> Anything to minimise Qpid / RabbitMQ deltas on how the spec is
> implemented would be great - thanks. We'll do the same if the case
> arises. And thanks very much for being on this group so we can work
> with your team to ensure interop is real and not vapour.
>
> Tanmay,
>
> As Matthias pointed out, pending a patch of the type Rob mentions, you
> can also do this as an interop workaround:
>
> 1) Qpid client -> RabbitMQ broker --- run RabbitMQ in "lax" mode (ie
> we reduce our spec implementation surface for interop).
> 2) RabbitMQ client -> QPid server --- do not do the accessRequest and
> use a hard-coded ticket# instead
>
> For (1) lax mode is enabled by default so please *do* send us your logs.
>
> Cheers
>
> alexis

For (1) you may also want to set java system property STRICT_AMQP=true
this will disabled all the Qpid JMS extensions to the AMQP protocol.
Disabling things such as selectors and queue browsing that AMQP 0_8
does not support, if you attempt to do something that uses extended
behaviour it will log a warning. Alternatively STRICT_AMQP_FATAL=true
will cause your app to System.exit in addition.

>
>
>
>
>
> On 8/16/07, Robert Godfrey <rob.j.godfrey@gmail.com> wrote:
> > Hi, at some point I added implementations of access ticket to the Qpid
> > client to allow us to interoperate with the RabbitMQ broker... if the code
> > has disappeared I can put it back in.
> >
> > At present Qpid does not implement the access ticket / realm parts of AMQP.
> >
> > Hope this helps,
> > Rob
> >
> >
> > On 16/08/07, Matthias Radestock <matthias@lshift.net> wrote:
> > > Tanmay,
> > >
> > > Goel, Tanmay wrote:
> > > > when I try to run a RabbitMQ client (attached,
> > > > SimpleProducer.java) against Qpid broker (with the default configuration
> > > > provided when I first downloaded it, no change), I get the following
> > > > exception. The exception is thrown on this like of code: *
> > > >
> > > > *int ticket = ch.accessRequest("/test");*
> > > >
> > > > *Intuitively, this method is not provided by the Qpid broker. Is it?*
> > >
> > > You are probably right and this method is indeed unimplemented in Qpid.
> > > It certainly wasn't when we ran the tests ~6 months ago, as noted in
> > > http://www.rabbitmq.com/interoperability.html
> > >
> > > You can probably just skip that request and use a ticket number of 0,
> > > with RabbitMQ's lax_mode enabled (which it is by default - see above
> > page).
> > >
> > > > *Also, there is no "client-name" passed as a parameter at the time of
> > > > establishing connection to the RabbitMQ connection constructor but is
> > > > passed to the Qpid connection constructor. If and how will this effect?*
> > >
> > > I have no idea what the "client-name" value is for. Perhaps the QPid
> > > client passes that value as part of the peer properties exchanged during
> > > connection negotiation, in which case it's informational only, i.e. it
> > > shouldn't affect the behaviour.
> > >
> > > > *Alternatively, when I tried to run a Qpid client against a RabbitMQ
> > > > broker (again, with the default settings, virtual hosts, etc). I got the
> > > > following error message at the first line of code: _connection = new
> > > > AMQConnection("localhost", 5672, "guest", "guest", "clientid",
> > "/data");*
> > >
> > > What do the RabbitMQ server logs (stdout, rabbit.log, rabbit-sasl.log)
> > say?
> > >
> > > What version of QPid are you running? The M1 release?
> > >
> > > Regards,
> > >
> > > Matthias.
> > >
> > > _______________________________________________
> > > rabbitmq-discuss mailing list
> > > rabbitmq-discuss@lists.rabbitmq.com
> > >
> > http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> > >
> >
> >
> > _______________________________________________
> > 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
>


--
Martin Ritchie

_______________________________________________
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: Tue Aug 21, 2007 7:51 pm Reply with quote
Guest
Yes, I'm currently running the M1 release.
Rabbit-sasl.log is empty and I also couldn't find stdout that you
mentioned.

Thanks,
Tanmay


-----Original Message-----
From: Matthias Radestock [mailto:matthias@lshift.net]
Sent: Thursday, August 16, 2007 12:35 AM
To: Goel, Tanmay
Cc: rabbitmq-discuss@lists.rabbitmq.com
Subject: Re: [rabbitmq-discuss] Problems while trying interoperability

Tanmay,

Goel, Tanmay wrote:
> when I try to run a RabbitMQ client (attached,
> SimpleProducer.java) against Qpid broker (with the default
configuration
> provided when I first downloaded it, no change), I get the following
> exception. The exception is thrown on this like of code: *
>
> *int ticket = ch.accessRequest("/test");*
>
> *Intuitively, this method is not provided by the Qpid broker. Is it?*

You are probably right and this method is indeed unimplemented in Qpid.
It certainly wasn't when we ran the tests ~6 months ago, as noted in
http://www.rabbitmq.com/interoperability.html

You can probably just skip that request and use a ticket number of 0,
with RabbitMQ's lax_mode enabled (which it is by default - see above
page).

> *Also, there is no "client-name" passed as a parameter at the time of
> establishing connection to the RabbitMQ connection constructor but is
> passed to the Qpid connection constructor. If and how will this
effect?*

I have no idea what the "client-name" value is for. Perhaps the QPid
client passes that value as part of the peer properties exchanged during

connection negotiation, in which case it's informational only, i.e. it
shouldn't affect the behaviour.

> *Alternatively, when I tried to run a Qpid client against a RabbitMQ
> broker (again, with the default settings, virtual hosts, etc). I got
the
> following error message at the first line of code: _connection = new
> AMQConnection("localhost", 5672, "guest", "guest", "clientid",
"/data");*

What do the RabbitMQ server logs (stdout, rabbit.log, rabbit-sasl.log)
say?

What version of QPid are you running? The M1 release?

Regards,

Matthias.


Post recived from mailinglist
Guest
Posted: Wed Aug 22, 2007 5:02 pm Reply with quote
Guest
Tanmay,

Goel, Tanmay wrote:
> Yes, I'm currently running the M1 release.
> Rabbit-sasl.log is empty and I also couldn't find stdout that you
> mentioned.

And there is nothing unusual in the rabbit.log either?

One useful debugging tool is the protocol tracer that comes as part of
the RabbitMQ examples and is documented at
http://www.rabbitmq.com/examples.html#tracer
This will show you what messages are being sent between the client and
server and may reveal the cause of the problems you are seeing.

Btw, what Qpid client code were you running? One of the provided examples?

I have managed to get the Qpid's service{Providing,Requesting}Client.sh
and topic{Listener,Publisher}.sh tests to run against RabbitMQ, but it
did require some hacks to the broker code in order to work around the
lack of access.request / realm / ticket handling in the QPid Java
client. I will add these changes to RabbitMQ's "lax_mode" (as documented
at http://www.rabbitmq.com/interoperability.html) in the next release.


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: Wed Aug 22, 2007 5:10 pm Reply with quote
Guest
Matthias Radestock wrote:

> And there is nothing unusual in the rabbit.log either?

Ah, I have just noticed that you attached the rabbit.log in your
previous message.

This shows the error

VHost access refused: no mapping for User <<"guest">>, VHost <<"/data">>

Are you sure "/data" is the VHost you want to use? I am asking because
"/data" is the name of a pre-defined realm so perhaps some of the
connection parameters got mixed up.

Anyway, if you see the above error, and the VHost is correct, use
rabbitmqctl to grant the user access to the VHost, e.g.

rabbitmqctl map_user_vhost <username> <vhostpath>

and give the user appropriate permissions to access realm, usually the
"/data" realm, e.g.

rabbitmqctl set_permissions <username> <vhostpath> /data all


Regards,

Matthias.

_______________________________________________
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