Ok, that's good.  Can you try one more thing?

Change the sequence of your setup:

1) Create exchanges
2) Create dynamic routes
3) Create queues and bindings

I'm wondering if there's a bug in the code.

-Ted


On 09/12/2013 01:08 PM, bacon wrote:
I do:

A:
Host            Port    Transport Durable  State             Last Error
=============================================================================
192.168.0.1     5672    tcp          Y     Operational


B:
Host            Port    Transport Durable  State             Last Error
=============================================================================
192.168.0.2     5672    tcp          Y     Operational
192.168.1.1     5672    tcp          Y     Operational

C:

Host            Port    Transport Durable  State             Last Error
=============================================================================
192.168.1.2     5672    tcp          Y     Operational




On Sep 12, 2013, at 12:55 PM, "Ted Ross [via Qpid]" 
<ml-node+s2158936n7598136...@n2.nabble.com> wrote:

If you use "qpid-route link list <broker>" do you see all of the links
being operational?

-Ted

On 09/12/2013 10:49 AM, bacon wrote:

Output of qpid-config exchanges -r  …

  From A:

Exchange '' (direct)
      bind [bbdae4e2-0430-4742-a807-15ace7783f27:0.0] => 
bbdae4e2-0430-4742-a807-15ace7783f27:0.0
      bind [A] => A
      bind 
[qpid.bridge_queue_qpid.tcp:192.168.0.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
 => 
qpid.bridge_queue_qpid.tcp:192.168.0.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
Exchange 'amq.direct' (direct)
Exchange 'amq.fanout' (fanout)
Exchange 'amq.match' (headers)
Exchange 'amq.topic' (topic)
Exchange 'test-topic' (topic)
      bind [A] => A
      bind [B] => 
qpid.bridge_queue_qpid.tcp:192.168.0.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
 {u'qpid.replicate': u'none', u'qpid.fed.origin': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee', u'qpid.fed.op': u'B', u'qpid.fed.tags': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
Exchange 'qmf.default.direct' (direct)
Exchange 'qmf.default.topic' (topic)
      bind [direct.84b0aac3-1a88-4b49-b8b6-5861299aaded] => 
bbdae4e2-0430-4742-a807-15ace7783f27:0.0
Exchange 'qpid.management' (topic)


  From B:

Exchange '' (direct)
      bind [0eada2e3-a87a-42dc-9dd6-795599ee713c:0.0] => 
0eada2e3-a87a-42dc-9dd6-795599ee713c:0.0
      bind [B] => B
      bind 
[qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
 => 
qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
      bind 
[qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
 => 
qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
Exchange 'amq.direct' (direct)
Exchange 'amq.fanout' (fanout)
Exchange 'amq.match' (headers)
Exchange 'amq.topic' (topic)
Exchange 'test-topic' (topic)
      bind [B] => B
      bind [A] => 
qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
 {u'qpid.replicate': u'none', u'qpid.fed.origin': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee', u'qpid.fed.op': u'B', u'qpid.fed.tags': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
      bind [C] => 
qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
 {u'qpid.replicate': u'none', u'qpid.fed.origin': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee', u'qpid.fed.op': u'B', u'qpid.fed.tags': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
Exchange 'qmf.default.direct' (direct)
Exchange 'qmf.default.topic' (topic)
      bind [direct.11ec68b2-a11a-40f9-b9dd-8eb58352329c] => 
0eada2e3-a87a-42dc-9dd6-795599ee713c:0.0
Exchange 'qpid.management' (topic)

  From C:

Exchange '' (direct)
      bind [991fc38f-2e1e-4efd-a60d-8725a21b4360:0.0] => 
991fc38f-2e1e-4efd-a60d-8725a21b4360:0.0
      bind [C] => C
      bind 
[qpid.bridge_queue_qpid.tcp:192.168.1.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
 => 
qpid.bridge_queue_qpid.tcp:192.168.1.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
Exchange 'amq.direct' (direct)
Exchange 'amq.fanout' (fanout)
Exchange 'amq.match' (headers)
Exchange 'amq.topic' (topic)
Exchange 'test-topic' (topic)
      bind [C] => C
      bind [B] => 
qpid.bridge_queue_qpid.tcp:192.168.1.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
 {u'qpid.replicate': u'none', u'qpid.fed.origin': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee', u'qpid.fed.op': u'B', u'qpid.fed.tags': 
u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
Exchange 'qmf.default.direct' (direct)
Exchange 'qmf.default.topic' (topic)
      bind [direct.aa8e0d92-7bbf-4784-8c66-14a2cf6d9379] => 
991fc38f-2e1e-4efd-a60d-8725a21b4360:0.0
Exchange 'qpid.management' (topic)




Outout of qpid-stat -e on A after trying to send a message to b and then c

Exchanges
    exchange            type     dur  bind  msgIn  msgOut  msgDrop  byteIn  
byteOut  byteDrop
    
===========================================================================================
                        direct           3     0      0       0        0       
0        0
    amq.direct          direct   Y       0    76     76       0     34.7k   
34.7k       0
    amq.fanout          fanout   Y       0     0      0       0        0       
0        0
    amq.match           headers  Y       0     0      0       0        0       
0        0
    amq.topic           topic    Y       0     0      0       0        0       
0        0
    test-topic        topic            2     3      2       1       12       8     
   4  <--- (drop is 1 after attempt to sent to c)
    qmf.default.direct  direct           0     9      9       0     2.40k   
2.40k       0
    qmf.default.topic   topic            1   333      7     326      255k   
17.2k     238k
    qpid.management     topic            0     0      0       0        0       
0        0


Thought: It seems that A doesn't know anything a about C or c so it drops the 
message... could this have something to do with using a topic exchange? Or 
should B be telling A what it knows about C (but isn't)?

Thanks,
    -Andrew




On Sep 11, 2013, at 5:18 PM, "Ted Ross [via Qpid]" <[hidden email]> wrote:

On 09/11/2013 04:39 PM, bacon wrote:

Let me start by saying that I am almost certainly missing some important
detail on how exchanges/dynamic routes work. With that said, here is what I
am trying to do with qpid-cpp-0.24:

I have 3 exchanges on three machines, lets call the A, B and C. Each with
bound queues a, b and c

A has bidirectional dynamic routes with B
B has bidirectional dynamic routes with C

node A has no network connectivity with node C (only A <-> B and B<-> C)

What I want to do is to introduce a message on exchange A with destination c
and have the message first routed to B and then onto exchange C and queue c.
What you are attempting should work.

The network setup:

A <-192.168.0.2/24 ------- 192.268.0.1/24 -> B <- 192.168.1.2/24  -------
192.168.1.1/24 ->

The qpidd setup:

On each:
./qpid-config add exchange topic test-topic
./qpid-config add queue A/B/C
./qpid-config bind test-topic A/B/C A/B/C

on A:
./qpid-route -v dynamic add 192.168.0.1 192.168.0.2  test-topic
./qpid-route -v dynamic add 192.168.0.2 192.168.0.1  test-topic


on B
./qpid-route -v dynamic add 192.168.1.1 192.168.1.2  test-topic
./qpid-route -v dynamic add 192.168.1.2 192.168.1.1  test-topic
It would be helpful to see the output of "qpid-config exchanges -r" on
broker B (the middle one).  This will show how the bindings have
arranged themselves.

Actually, post the output for all three brokers.

I can send messages from A to B (and b) as well as B to C (and c) but every
message I send to c from A gets dropped which says to me that A is never
being informed of the queue on C via B.

A route map is similarly puzzling:
Don't worryabout route-map.  It's connecting to one broker and
attempting to get the addresses of all the connected brokers.  Since C
is not reachable, route-map won't be able to query it.  This has no
bearing on the way messages flow. Route-map might work if run from B
since B has connectivity to all the brokers.

[root@A bin]# ./qpid-route route map localhost

Finding Linked Brokers:
       localhost:5672... Ok
       192.168.0.1:5672... Ok
       192.168.0.2:5672... Ok
       192.168.1.1:5672... [Errno 110] Connection timed out
       192.168.1.1:5672... [Errno 110] Connection timed out

Dynamic Routes:

     Exchange test-topic:
       192.168.0.1:5672  => localhost:5672
       192.168.0.2:5672 <=> 192.168.0.1:5672
       192.168.1.1:5672  => 192.168.0.1:5672

Static Routes:
     none found


This says to me that the IP address of C is being sent to A via B.. which,
as I understand dynamic routes, should not happen (because I'm not doing
routing between them).

Any help would be greatly appreciated. I believe that this should be
possible and I think there is some fundamental concept that I'm missing but
I am stuck at the moment.

Thanks!
    --Andrew



--
View this message in context: 
http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



If you reply to this email, your message will be added to the discussion below:
http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598110.html
To unsubscribe from Dynamic routing between disconnected exchanges, click here.
NAML

signature.asc (858 bytes) 
<http://qpid.2158936.n2.nabble.com/attachment/7598133/0/signature.asc>




--
View this message in context: 
http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598133.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



If you reply to this email, your message will be added to the discussion below:
http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598136.html
To unsubscribe from Dynamic routing between disconnected exchanges, click here.
NAML


signature.asc (858 bytes) 
<http://qpid.2158936.n2.nabble.com/attachment/7598137/0/signature.asc>




--
View this message in context: 
http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598137.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to