You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Fraser Adams <fr...@blueyonder.co.uk> on 2012/02/10 10:37:02 UTC
qpid-route weirdness between 0.8 qpid-route and 0.6 broker
So firstly
Yes I know these are ancient and should be upgraded ASAP but
unfortunately they're not mine.....
One of my team has had cause to federate between a 0.6 source broker and
a 0.8 destination broker. He's been using the tools (qpid-config and
qpid-route) from the 0.8 box to create queue routes (source queue routes
using the -s option on qpid-route).
The destination broker was being moved from one host to another so he
needed to remove the old queue route and add a new one but unfortunately
he couldn't remove the route.
As he reported it to me he basically found some weirdness....
I believe that he could add a source route from 0.6 to 0.8 using
qpid-route -s using the 0.8 version of qpid-route however I believe that
he couldn't remove the route. OTOH I believe that he /could/ remove the
route using the 0.6 version of qpid-route, but I don't *think* that he
could actually add a route using the 0.6 version.
I believe that under the covers the 0.8 version of qpid-route onwards
essentially uses the QMF create method on the broker object to create a
link and the bridge method on the link thus created to create the route
however I haven't a clue how 0.6 works (I started using Qpid from 0.8 so
I've not looked any earlier). My hunch is that 0.6 either uses something
different or there are subtle differences in the method semantics that
leads to weirdness.
I realise that this is somewhat like archeology now but it would be nice
to have an understanding of what might be going on. It would be useful
to have some specific evidence when I go about persuading people to upgrade.
Cheers,
Frase.
Re: qpid-route weirdness between 0.8 qpid-route and 0.6 broker
Posted by Fraser Adams <fr...@blueyonder.co.uk>.
On 10/02/12 22:15, Gordon Sim wrote:
>
> Actually the 0.6, 0.8 and even trunk versions currently use
> Broker.connect() and Link.bridge() methods. Using the Broker.create()
> would be cleaner and more uniform and I would imagine that will be
> done at some point.
>
I was fairly sure about the Link.bridge() and just assumed about the
Broker.create(). I've used create quite a bit of late so it stuck in my
mind. As you say using create to create the Link object would probably
be more intuitive and uniform, well at least to those of us who have
primarily been using QMF to manipulate Management Objects
>> I realise that this is somewhat like archeology now but it would be nice
>> to have an understanding of what might be going on. It would be useful
>> to have some specific evidence when I go about persuading people to
>> upgrade.
>
> There have been lots of small fixes since those versions, both to
> qpid-route and to federation itself. There is nothing specific I can
> think of. I suspect upgrading (even if it just so both are 0.8) may be
> the shortest route to resolution. Alternatively a little bit more info
> on any errors or log entries etc might trigger a thought in someones
> mind.
>
Thanks, yeah I'm pushing for a bit of an upgrade. To be fair part of the
problem is that it's an extremely large federated deployment in a big
data centre and the guys are rightly concerned about introducing
regressions in this part of the system when they've made some major
changes elsewhere too (if it ain't broke and all that...). Fortunately
they've also been working on their test and CI environments so hopefully
it's going to be easier to roll out infrastructure upgrades fairly shortly.
Re "Alternatively a little bit more info on any errors or log entries
etc might trigger a thought in someones mind.". Unfortunately that's
part of the problem :-)
We've spoken about this before, but one of the issues with federation is
that there are quite a few scenarios where links/bridges are broken but
the tools (mainly qpid-route) reports that everything is OK. I think
that there was some work put into 0.14 to improve retry/reconnection
behaviour (one previous failure scenario we had was problems with queue
routes when the source broker restarted and the queue wasn't immediately
re-created). I've not had a chance to play with 0.14 yet, has that logic
made it in? Were there any changes made to failure reporting behaviour?
If any thoughts pop into your mind please do let me know. Upgrading is
definitely the best option, but I'm curious about oddities like this.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
Re: qpid-route weirdness between 0.8 qpid-route and 0.6 broker
Posted by Gordon Sim <gs...@redhat.com>.
On 02/10/2012 09:37 AM, Fraser Adams wrote:
> So firstly
> Yes I know these are ancient and should be upgraded ASAP but
> unfortunately they're not mine.....
>
> One of my team has had cause to federate between a 0.6 source broker and
> a 0.8 destination broker. He's been using the tools (qpid-config and
> qpid-route) from the 0.8 box to create queue routes (source queue routes
> using the -s option on qpid-route).
>
> The destination broker was being moved from one host to another so he
> needed to remove the old queue route and add a new one but unfortunately
> he couldn't remove the route.
>
> As he reported it to me he basically found some weirdness....
>
> I believe that he could add a source route from 0.6 to 0.8 using
> qpid-route -s using the 0.8 version of qpid-route however I believe that
> he couldn't remove the route. OTOH I believe that he /could/ remove the
> route using the 0.6 version of qpid-route, but I don't *think* that he
> could actually add a route using the 0.6 version.
>
> I believe that under the covers the 0.8 version of qpid-route onwards
> essentially uses the QMF create method on the broker object to create a
> link and the bridge method on the link thus created to create the route
> however I haven't a clue how 0.6 works (I started using Qpid from 0.8 so
> I've not looked any earlier). My hunch is that 0.6 either uses something
> different or there are subtle differences in the method semantics that
> leads to weirdness.
Actually the 0.6, 0.8 and even trunk versions currently use
Broker.connect() and Link.bridge() methods. Using the Broker.create()
would be cleaner and more uniform and I would imagine that will be done
at some point.
> I realise that this is somewhat like archeology now but it would be nice
> to have an understanding of what might be going on. It would be useful
> to have some specific evidence when I go about persuading people to
> upgrade.
There have been lots of small fixes since those versions, both to
qpid-route and to federation itself. There is nothing specific I can
think of. I suspect upgrading (even if it just so both are 0.8) may be
the shortest route to resolution. Alternatively a little bit more info
on any errors or log entries etc might trigger a thought in someones mind.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org