You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by DJ...@princeton.com on 2011/06/29 23:34:42 UTC
Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow,
but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic
exchange and reading messages from a queue (exclusive to the application)
that is
bound to the topic exchange. The bindings are such that an application
can send
messages to another application, or to all applications connected to the
same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers
so that an application can also send messages to another application on
another
broker, to all applications on another broker, or to all applications on
all brokers.
After creating the routes, however, I still cannot get messages to pass
between
brokers. I've been mostly testing with exchange routes, but I have also
tested
dynamic and queue routes with similar results. In the exchange route
case, the
messages get stuck in the topic exchange on the source boker (msgIn
increments, but
msgOut does not). In the queue route case, the messages get stuck in the
source queue.
When I create the routes, the links are automatically created (one in each
direction),
but only one is "Operational". The second link gets stuck in "Waiting -
Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I
trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would
at least work in one direction, but instead I can't get federation to work
in either
direction. Is there something else I am doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent
to the topic exchange on broker A with the subjects "all.a.x", "all.a", or
"all"; but
does not see messages that were sent to the topic exchange on broker B
with the
subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
Does telnet work between A:port and B:port in both directions?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Tuesday, July 05, 2011 6:47 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> Are the any errors in the qpid log?
from the logs on broker A:
trying to establish the connection:
[timestamp] A qpidd[30909]: [timestamp] error Connection B:port closed by error: closed by management(320)
afterwards, about once every 2 seconds:
[timestamp] A qpidd[30909]: [timestamp] warning Client closed connection with 541: internal-error: interaction disallowed
from the logs on broker B:
about once every 2 seconds:
[timestamp] B qpidd[4592]: [timestamp] warning Inter-broker link disconnected from A:port
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 11:04 AM
Subject: RE: Federation - trouble-shooting
Are the any errors in the qpid log?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 6:52 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
qpid-route --ack 0 route add A B e_topic all qpid-route --ack 0 route add
A B e_topic all.a qpid-route --ack 0 route add A B e_topic all.a.x
qpid-route --ack 0 route add B A e_topic all qpid-route --ack 0 route add
B A e_topic all.b qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to
the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue
(auto-delete, exclusive) on the source broker to hold messages that are to
be routed to the destination broker, binds this private queue to the
source broker exchange, and subscribes the destination broker to the
queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create
the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
Re: Federation - trouble-shooting
Posted by DJ...@princeton.com.
> I believe the 'interaction disallowed' error is a result of having the
> link use PLAIN by default even though a password is not specified
> (should be fixed now on trunk).
I've started explicitly specifying the username/password as "guest/guest"
and the "interaction disallowed" messages have since stopped appearing in
the logs, so authorization was likely part of the issue. I plan to do
some more testing with authorization in the near future.
After lots of experimentation, federation has finally started working
for me, but I still have some kinks to work out. Most issues appear
to be problems with the order of commands for adding/removing entities.
dyanmic routes:
These seem to only work if the queues do not yet exist. When you bind
a queue to the exchange on the destination broker, the bridge queue is
automatically created on the source broker. However, if you add the
dynamic route after the queues have already all been created, then the
bridge queue never gets created, and messages will not federate.
exchange routes:
Exchange routes may or may not work depending on whether the exchange
on the source broker already exists when the route is added (at least
that is my current theory). Like dynamic routes, when it doesn't
work, the route will be "added" and visible via "route map" but the
bridge queue will be missing and messages will not federate.
queue routes:
These require that the queue already exists on the source broker prior
to adding the route (this is in the documentation, but I missed it).
If the queue does not exist yet on the source broker, the route can
be added but will not actually work (and there is no error/exception
at the time the route is added to indicate that something is wrong).
-----
I'm trying to build a kind of "click-once" tool for setting up or
tearing down a broker (via calls to qpid-config and qpid-route) based
on a configuration file. A couple of things would help:
1. Has a tool like this already been developed?
2. Are there some rules/documentation for how to add/remove entities
in the correct order to avoid mishaps?
3. Using queue routing, my messages federate to the exchange on the
destination broker where it will be visible to applications there,
but it will also pass to the queue that is a source for federating
back to the source broker...so I end up with a message that
"bounces" back and forth forever. This problem can be avoided by
using dynamic routing, but is there a way to avoid this with queue
routing (or exchange routing, if it has the same problem)?
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Gordon Sim <gs...@redhat.com>
To: <us...@qpid.apache.org>
Date: 07/05/2011 11:22 AM
Subject: Re: Federation - trouble-shooting
On 07/05/2011 03:26 PM, DJohnson@princeton.com wrote:
>> Are the any errors in the qpid log?
>
> from the logs on broker A:
>
> trying to establish the connection:
>
> [timestamp] A qpidd[30909]: [timestamp] error Connection B:port
closed
> by error: closed by management(320)
>
> afterwards, about once every 2 seconds:
>
> [timestamp] A qpidd[30909]: [timestamp] warning Client closed
> connection with 541: internal-error: interaction disallowed
>
> from the logs on broker B:
>
> about once every 2 seconds:
>
> [timestamp] B qpidd[4592]: [timestamp] warning Inter-broker link
> disconnected from A:port
Do you have authentication turned on?
I believe the 'interaction disallowed' error is a result of having the
link use PLAIN by default even though a password is not specified
(should be fixed now on trunk).
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
Re: Federation - trouble-shooting
Posted by Gordon Sim <gs...@redhat.com>.
On 07/05/2011 03:26 PM, DJohnson@princeton.com wrote:
>> Are the any errors in the qpid log?
>
> from the logs on broker A:
>
> trying to establish the connection:
>
> [timestamp] A qpidd[30909]: [timestamp] error Connection B:port closed
> by error: closed by management(320)
>
> afterwards, about once every 2 seconds:
>
> [timestamp] A qpidd[30909]: [timestamp] warning Client closed
> connection with 541: internal-error: interaction disallowed
>
> from the logs on broker B:
>
> about once every 2 seconds:
>
> [timestamp] B qpidd[4592]: [timestamp] warning Inter-broker link
> disconnected from A:port
Do you have authentication turned on?
I believe the 'interaction disallowed' error is a result of having the
link use PLAIN by default even though a password is not specified
(should be fixed now on trunk).
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by DJ...@princeton.com.
> Are the any errors in the qpid log?
from the logs on broker A:
trying to establish the connection:
[timestamp] A qpidd[30909]: [timestamp] error Connection B:port closed
by error: closed by management(320)
afterwards, about once every 2 seconds:
[timestamp] A qpidd[30909]: [timestamp] warning Client closed
connection with 541: internal-error: interaction disallowed
from the logs on broker B:
about once every 2 seconds:
[timestamp] B qpidd[4592]: [timestamp] warning Inter-broker link
disconnected from A:port
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 11:04 AM
Subject: RE: Federation - trouble-shooting
Are the any errors in the qpid log?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 6:52 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
qpid-route --ack 0 route add A B e_topic all qpid-route --ack 0 route add
A B e_topic all.a qpid-route --ack 0 route add A B e_topic all.a.x
qpid-route --ack 0 route add B A e_topic all qpid-route --ack 0 route add
B A e_topic all.b qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to
the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue
(auto-delete, exclusive) on the source broker to hold messages that are to
be routed to the destination broker, binds this private queue to the
source broker exchange, and subscribes the destination broker to the
queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create
the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
Are the any errors in the qpid log?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 6:52 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
qpid-route --ack 0 route add A B e_topic all qpid-route --ack 0 route add A B e_topic all.a qpid-route --ack 0 route add A B e_topic all.a.x qpid-route --ack 0 route add B A e_topic all qpid-route --ack 0 route add B A e_topic all.b qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue (auto-delete, exclusive) on the source broker to hold messages that are to be routed to the destination broker, binds this private queue to the source broker exchange, and subscribes the destination broker to the queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
David,
I have fixed the issue on my site and it was problem with DNS.
1. I have error with my DNS resolving, so I fixed it on my RedHat
2. After that my qpid links, which I see by qpid-route link list, still exists in error state. To flush it I had to remove links by qpid-tool. I think broker restart should help.
3. Then I recreate all my routes and it works!
-----Original Message-----
From: Ilyushonak Barys [mailto:Barys_Ilyushonak@troika.ru]
Sent: Tuesday, July 05, 2011 1:51 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
I faced with similar problem, if I created bindings in c++ code, not through qpid-config tool.
I'm going to investigate it and let you know my results.
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 10:29 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> Could you please try without "ack"?
removing "-ack 0" has made no difference
> And what version of qpid do you use for A and B?
the brokers are running on RHEL5, with installed packages:
version 0.7.946106-28.e15:
qpid-cpp-client.x86_64
qpid-cpp-client-devel.x86_64
qpid-cpp-client-devel-docs.x86_64
qpid-cpp-client-ssl.x86_64
qpid-cpp-server.x86_64
qpid-cpp-server-cluster.x86_64
qpid-cpp-server-devel.x86_64
qpid-cpp-server-ssl.x86_64
qpid-cpp-server-store.x86_64
qpid-cpp-server-xml.x86_64
version 0.7.946106-15.e15
qpid-java-client.noarch
qpid-java-common.noarch
qpid-java-example.noarch
version 0.7.946106-12.e15
qpid-tools.noarch
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 11:01 AM
Subject: RE: Federation - trouble-shooting
I'm not sure about
--ack 0
I didn't use it.
Could you please try without "ack"?
And what version of qpid do you use for A and B?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 6:52 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
qpid-route --ack 0 route add A B e_topic all qpid-route --ack 0 route add A B e_topic all.a qpid-route --ack 0 route add A B e_topic all.a.x qpid-route --ack 0 route add B A e_topic all qpid-route --ack 0 route add B A e_topic all.b qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue (auto-delete, exclusive) on the source broker to hold messages that are to be routed to the destination broker, binds this private queue to the source broker exchange, and subscribes the destination broker to the queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically when you create the exchange routes, but in my case there is no evidence of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I am intending. But the messages never leave the source exchange on the source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such that an application can send messages to another application, or to all applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another application on another broker, to all applications on another broker, or to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass between brokers. I've been mostly testing with exchange routes, but I have also tested dynamic and queue routes with similar results. In the exchange route case, the messages get stuck in the topic exchange on the source boker (msgIn increments, but msgOut does not). In the queue route case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in "Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that federation would at least work in one direction, but instead I can't get federation to work in either direction. Is there something else I am doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x", "all.a", or "all"; but does not see messages that were sent to the topic exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
I faced with similar problem, if I created bindings in c++ code, not through qpid-config tool.
I'm going to investigate it and let you know my results.
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 10:29 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> Could you please try without "ack"?
removing "-ack 0" has made no difference
> And what version of qpid do you use for A and B?
the brokers are running on RHEL5, with installed packages:
version 0.7.946106-28.e15:
qpid-cpp-client.x86_64
qpid-cpp-client-devel.x86_64
qpid-cpp-client-devel-docs.x86_64
qpid-cpp-client-ssl.x86_64
qpid-cpp-server.x86_64
qpid-cpp-server-cluster.x86_64
qpid-cpp-server-devel.x86_64
qpid-cpp-server-ssl.x86_64
qpid-cpp-server-store.x86_64
qpid-cpp-server-xml.x86_64
version 0.7.946106-15.e15
qpid-java-client.noarch
qpid-java-common.noarch
qpid-java-example.noarch
version 0.7.946106-12.e15
qpid-tools.noarch
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 11:01 AM
Subject: RE: Federation - trouble-shooting
I'm not sure about
--ack 0
I didn't use it.
Could you please try without "ack"?
And what version of qpid do you use for A and B?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 6:52 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
qpid-route --ack 0 route add A B e_topic all qpid-route --ack 0 route add A B e_topic all.a qpid-route --ack 0 route add A B e_topic all.a.x qpid-route --ack 0 route add B A e_topic all qpid-route --ack 0 route add B A e_topic all.b qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue (auto-delete, exclusive) on the source broker to hold messages that are to be routed to the destination broker, binds this private queue to the source broker exchange, and subscribes the destination broker to the queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically when you create the exchange routes, but in my case there is no evidence of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by DJ...@princeton.com.
> Could you please try without "ack"?
removing "-ack 0" has made no difference
> And what version of qpid do you use for A and B?
the brokers are running on RHEL5, with installed packages:
version 0.7.946106-28.e15:
qpid-cpp-client.x86_64
qpid-cpp-client-devel.x86_64
qpid-cpp-client-devel-docs.x86_64
qpid-cpp-client-ssl.x86_64
qpid-cpp-server.x86_64
qpid-cpp-server-cluster.x86_64
qpid-cpp-server-devel.x86_64
qpid-cpp-server-ssl.x86_64
qpid-cpp-server-store.x86_64
qpid-cpp-server-xml.x86_64
version 0.7.946106-15.e15
qpid-java-client.noarch
qpid-java-common.noarch
qpid-java-example.noarch
version 0.7.946106-12.e15
qpid-tools.noarch
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 11:01 AM
Subject: RE: Federation - trouble-shooting
I'm not sure about
--ack 0
I didn't use it.
Could you please try without "ack"?
And what version of qpid do you use for A and B?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 6:52 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
qpid-route --ack 0 route add A B e_topic all qpid-route --ack 0 route add
A B e_topic all.a qpid-route --ack 0 route add A B e_topic all.a.x
qpid-route --ack 0 route add B A e_topic all qpid-route --ack 0 route add
B A e_topic all.b qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to
the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue
(auto-delete, exclusive) on the source broker to hold messages that are to
be routed to the destination broker, binds this private queue to the
source broker exchange, and subscribes the destination broker to the
queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create
the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
I'm not sure about
--ack 0
I didn't use it.
Could you please try without "ack"?
And what version of qpid do you use for A and B?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 6:52 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
qpid-route --ack 0 route add A B e_topic all qpid-route --ack 0 route add A B e_topic all.a qpid-route --ack 0 route add A B e_topic all.a.x qpid-route --ack 0 route add B A e_topic all qpid-route --ack 0 route add B A e_topic all.b qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue (auto-delete, exclusive) on the source broker to hold messages that are to be routed to the destination broker, binds this private queue to the source broker exchange, and subscribes the destination broker to the queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by DJ...@princeton.com.
qpid-route --ack 0 route add A B e_topic all
qpid-route --ack 0 route add A B e_topic all.a
qpid-route --ack 0 route add A B e_topic all.a.x
qpid-route --ack 0 route add B A e_topic all
qpid-route --ack 0 route add B A e_topic all.b
qpid-route --ack 0 route add B A e_topic all.b.x
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 10:37 AM
Subject: RE: Federation - trouble-shooting
", but in my case there is no evidence of an extra binding being added to
the exchange on either broker "
According to docs (
http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html
)
"Internally, creating an exchange route creates a private queue
(auto-delete, exclusive) on the source broker to hold messages that are to
be routed to the destination broker, binds this private queue to the
source broker exchange, and subscribes the destination broker to the
queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create
the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
", but in my case there is no evidence of an extra binding being added to the exchange on either broker "
According to docs (http://qpid.apache.org/books/0.10/AMQP-Messaging-Broker-CPP-Book/html/ch01s04.html)
"Internally, creating an exchange route creates a private queue (auto-delete, exclusive) on the source broker to hold messages that are to be routed to the destination broker, binds this private queue to the source broker exchange, and subscribes the destination broker to the queue. "
It should be created.
Could you please send "qpid-route route add" command you used for create the route?
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 5:42 PM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by DJ...@princeton.com.
> In my case I have temp queue on source broker after create the correct
route and
> binding - qpid-config -b exchanges:
> bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
I'm assuming that the temp queue is supposed to be created automatically
when you create the exchange routes, but in my case there is no evidence
of an extra binding being added to the exchange on either broker:
qpid-config -b exchanges -a A:
Exchange 'e_topic' (topic)
bind[all] => q_x
bind[all.a] => q_x
bind[all.a.x] => q_x
> In my case the command qpid-stat -e return actual count of exchange
binding (bind
> column). In your case this value is 0 on both brokers.
I don't follow. For me, qpid-stat -e gives bind=3 for the topic exchanges
(the three "=> q_x" bindings), and qpid-stat -q gives bind=4 for the
exclusive queue (the three "=> e_topic" bindings and the one "=> ''"
binding for the direct exchange ''). However, I don't see any extra
bindings for a temporary queue.
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 04:28 AM
Subject: RE: Federation - trouble-shooting
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but
do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please
check the following things.
1. In my case I have temp queue on source broker after create the correct
route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] =>
bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange
binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
David, thank you for the info.
I think I got your idea - send messages to broker B with key= all.a.x, but do not have bindings on B with this key on the local queues.
As I see, the route works only while bindings exists. So, could you please check the following things.
1. In my case I have temp queue on source broker after create the correct route and binding - qpid-config -b exchanges:
bind [murex.all.trades.nbd] => bridge_queue_1_9258360d-a740-44a2-91ec-65bcf56f3e50
2. In my case the command qpid-stat -e return actual count of exchange binding (bind column). In your case this value is 0 on both brokers.
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 11:51 AM
To: users@qpid.apache.org
Subject: RE: Federation - trouble-shooting
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I am intending. But the messages never leave the source exchange on the source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static and dynamic routes I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such that an application can send messages to another application, or to all applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another application on another broker, to all applications on another broker, or to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass between brokers. I've been mostly testing with exchange routes, but I have also tested dynamic and queue routes with similar results. In the exchange route case, the messages get stuck in the topic exchange on the source boker (msgIn increments, but msgOut does not). In the queue route case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in "Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that federation would at least work in one direction, but instead I can't get federation to work in either direction. Is there something else I am doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x", "all.a", or "all"; but does not see messages that were sent to the topic exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by DJ...@princeton.com.
Correction, for Broker B:
qpid-config -b queues -a B:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: <DJ...@princeton.com>
To: <us...@qpid.apache.org>
Date: 06/30/2011 03:47 AM
Subject: RE: Federation - trouble-shooting
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes
I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by DJ...@princeton.com.
> As I see there is no bindings on broker B with the key "all.a.x",
"all.a", so, it works as
> expected and you can't see " messages that were sent to the topic
exchange on broker B with
> the subjects "all.a.x", "all.a"
Messages sent to the topic exchange on broker B with the keys "all.a.x" or
"all.a" are not bound to any dedicated queue on broker B...but should
federate over to the topic exchange on broker A where there is a dedicated
queue with bindings for "all.a.x" and "all.a". At least, that is what I
am intending. But the messages never leave the source exchange on the
source broker, so the federation is not currently working.
> It looks like for me that "key=all" should works.
A message sent to the topic exchange on either broker with the key "all"
currently propagates only to the dedicated queues on that broker, but do
not federate to the other broker.
> qpid-config -b queues
> qpid-route route map
Broker A:
qpid-stat -e A:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q A:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
qpid-route link list A:
Host Port Transport Durable Stats Last Error
===================================================
B port tcp N Operational
Broker B:
qpid-stat -e B:
exchange type dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop
====================================================================
e_topic topic 3 0 0 0 0 0 0
qpid-stat -q B:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons
bind
========================================================================
q_x Y Y 0 0 0 0 0 0 1 4
qpid-config -b queues -a A:
Queue 'q_x'
bind [q_x] => ''
bind [all] => e_topic
bind [all.ba] => e_topic
bind [all.b.x] => e_topic
qpid-route link list B:
Host Port Transport Durable Stats Last Error
=======================================================
A port tcp N Waiting Closed by peer
Routes:
qpid-route route map A
Finding Linked Brokers:
A:port... Ok
B:port... Ok
Dynamic Routes:
none found
Static Routes:
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a.#
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all.a
A:port(ex=e_topic) <= B:port(ex=e_topic) key=all
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b.#
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all.b
B:port(ex=e_topic) <= A:port(ex=e_topic) key=all
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
From: Ilyushonak Barys <Ba...@troika.ru>
To: "users@qpid.apache.org" <us...@qpid.apache.org>
Date: 06/30/2011 02:31 AM
Subject: RE: Federation - trouble-shooting
As I see there is no bindings on broker B with the key "all.a.x", "all.a",
so, it works as expected and you can't see " messages that were sent to
the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static
and dynamic routes
I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy
to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages
to the topic exchange and reading messages from a queue (exclusive to the
application) that is bound to the topic exchange. The bindings are such
that an application can send messages to another application, or to all
applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the
two brokers so that an application can also send messages to another
application on another broker, to all applications on another broker, or
to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass
between brokers. I've been mostly testing with exchange routes, but I
have also tested dynamic and queue routes with similar results. In the
exchange route case, the messages get stuck in the topic exchange on the
source boker (msgIn increments, but msgOut does not). In the queue route
case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each
direction), but only one is "Operational". The second link gets stuck in
"Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can
I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that
federation would at least work in one direction, but instead I can't get
federation to work in either direction. Is there something else I am
doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that
were sent to the topic exchange on broker A with the subjects "all.a.x",
"all.a", or "all"; but does not see messages that were sent to the topic
exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf
idential and protected from disclosure. If you are not the original
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or other use of, or taking of any action in
reliance upon, this information is prohibited. If you have received this
communication in error, please notify the sender immediately by replying
to this message and delete it from your computer. Thank you for your
cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500
or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: Federation - trouble-shooting
Posted by Ilyushonak Barys <Ba...@troika.ru>.
As I see there is no bindings on broker B with the key "all.a.x", "all.a", so, it works as expected and you can't see " messages that were sent to the topic exchange on broker B with the subjects "all.a.x", "all.a""
It looks like for me that "key=all" should works.
I used all kind of links and it works like a charm - queue link, static and dynamic routes
I think links should would in your case too.
Could you please give a little bit more info by posting results of:
qpid-config -b queues
qpid-route route map
on both brokers?
Regards,
Boris
-----Original Message-----
From: DJohnson@princeton.com [mailto:DJohnson@princeton.com]
Sent: Thursday, June 30, 2011 2:17 AM
To: users@qpid.apache.org
Subject: Federation - trouble-shooting
The documentation on creating routes with qpid-route seems clear and easy to follow, but I'm still missing something.
I've been testing with two brokers, each having a topic exchange.
Applications
connected to a broker can communicate with each other by sending messages to the topic exchange and reading messages from a queue (exclusive to the application) that is bound to the topic exchange. The bindings are such that an application can send messages to another application, or to all applications connected to the same broker.
So far, so good.
My intention is to implement federation between the topic exchanges on the two brokers so that an application can also send messages to another application on another broker, to all applications on another broker, or to all applications on all brokers.
After creating the routes, however, I still cannot get messages to pass between brokers. I've been mostly testing with exchange routes, but I have also tested dynamic and queue routes with similar results. In the exchange route case, the messages get stuck in the topic exchange on the source boker (msgIn increments, but msgOut does not). In the queue route case, the messages get stuck in the source queue.
When I create the routes, the links are automatically created (one in each direction), but only one is "Operational". The second link gets stuck in "Waiting - Closed by peer"
Some questions:
1. What are some possible causes of the "Closed by peer" error, or how can I trouble-shoot the links?
2. Even with only one link being "Operational," I would expect that federation would at least work in one direction, but instead I can't get federation to work in either direction. Is there something else I am doing wrong?
Here's my (typical) setup...
Broker A:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel: Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.a] => e_topic
bind [all.a.x] => e_topic
Broker B:
exchange: e_topic
type: topic
dur: N
queue: q_x
dur: N
autoDel Y
excl: Y
bindings:
bind [all] => e_topic
bind [all.b] => e_topic
bind [all.b.x] => e_topic
Static (exchange) Routes between A and B:
A(ex=e_topic) <= B(ex=e_topic) key=all.a.#
A(ex=e_topic) <= B(ex=e_topic) key=all.a
A(ex=e_topic) <= B(ex=e_topic) key=all
B(ex=e_topic) <= A(ex=e_topic) key=all.b.#
B(ex=e_topic) <= A(ex=e_topic) key=all.b
B(ex=e_topic) <= A(ex=e_topic) key=all
Current result: Appplication X connected to broker A can see messages that were sent to the topic exchange on broker A with the subjects "all.a.x", "all.a", or "all"; but does not see messages that were sent to the topic exchange on broker B with the subjects "all.a.x", "all.a", or "all".
David Johnson
Princeton Consultants
2 Research Way
Princeton, NJ 08540
609.987.8787 x266
_______________________________________________________
The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia.
If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org