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.