Done but seems to make no difference. 

With exchanges and dynamic routes and queues created, I added the binding on A 
(./qpid-config bind test-topic A A)  while watching the debug log on B and C:


B: 

2013-09-07 19:02:33 [Management] debug Management object (V1) added: 
org.apache.qpid.broker:binding:org.apache.qpid.broker:exchange:test-topic,org.apache.qpid.broker:queue:qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee,A
2013-09-07 19:02:33 [Broker] debug Binding key [A] to queue 
qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
 on exchange test-topic (origin=d7ea0855-a1db-451a-bb72-ec61814db3ee)
2013-09-07 19:02:33 [Management] debug SEND raiseEvent (v2) 
class=org.apache.qpid.broker.bind
2013-09-07 19:02:33 [Model] debug Create binding. exchange:test-topic 
queue:qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
 key:A 
arguments:{qpid.fed.op:V2:0:str16(),qpid.fed.origin:V2:36:str16(d7ea0855-a1db-451a-bb72-ec61814db3ee),qpid.fed.tags:V2:36:str16(d7ea0855-a1db-451a-bb72-ec61814db3ee),qpid.replicate:V2:4:str16(none)}
 user:anonymous rhost:qpid.192.168.0.1:5672-192.168.0.2:45435
2013-09-07 19:02:33 [Broker] debug SemanticState::addBinding 
[queue=qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee,
 exchange=test-topic, key=A, 
args={qpid.fed.op:V2:0:str16(),qpid.fed.origin:V2:36:str16(d7ea0855-a1db-451a-bb72-ec61814db3ee),qpid.fed.tags:V2:36:str16(d7ea0855-a1db-451a-bb72-ec61814db3ee),qpid.replicate:V2:4:str16(none)}]
2013-09-07 19:02:33 [Broker] debug 
anonymous.qpid.bridge_session_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee:
 receiver marked completed: 10 incomplete: { } unknown-completed: { [0,10] }


C: 

<nothing at all besides normal heartbeat and management messages>


--Andrew



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

> 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]" <[hidden email]> 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: [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-tp7598100p7598138.html
> To unsubscribe from Dynamic routing between disconnected exchanges, click 
> here.
> NAML



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




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

Reply via email to