qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <DJohn...@princeton.com>
Subject RE: Federation - trouble-shooting
Date Thu, 30 Jun 2011 07:49:56 GMT
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:   <DJohnson@princeton.com>
To:     <users@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 <Barys_Ilyushonak@troika.ru>
To:     "users@qpid.apache.org" <users@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





Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message