Re: Dynamic routing between disconnected exchanges
27;qpid.replicate': u'none', u'qpid.fed.origin': > >>> u'd7ea0855-a1db-451a-bb72-ec61814db3ee', u'qpid.fed.op': u'', > >>> u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} > >>> bind [B] => > >>> qpid.bridge_queue_qpid.tcp:10.10.10.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'', > >>> u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} > >>> > >>> What I don't see is something like… > >>> bind [C] => qpid.bridge_queue_qpid.tcp:……. > >>> > >>> > >> Just for reference, below is the shell script I used to test your > >> scenario. My test doesn't have the disjoint IP networks yours does but > >> I believe that's not relevant to what you're seeing. When I run this > >> test, I see bindings for A, B, and C on all nodes. > >> > >> -Ted > >> > >> == > >> > >> #!/bin/bash > >> set -x > >> > >> ROOT=$HOME/svn/qpid > >> SRC=$ROOT/build-cmake/src > >> QPIDD=$SRC/qpidd > >> QPID_CONFIG=$ROOT/tools/src/py/qpid-config > >> QPID_ROUTE=$ROOT/tools/src/py/qpid-route > >> DATA_DIR=$HOME/.qpidd > >> > >> export PYTHONPATH=$ROOT/python:$ROOT/tools/src/py:$ROOT/extras/qmf/src/py > >> > >> P1=10001 > >> P2=10002 > >> P3=10003 > >> > >> B1=localhost:$P1 > >> B2=localhost:$P2 > >> B3=localhost:$P3 > >> > >> QPIDD_OPTIONS="--log-enable notice+ --log-to-stderr no --auth no" > >> QPIDD_START_OPTIONS="$QPIDD_OPTIONS --daemon" > >> QPIDD_STOP_OPTIONS="$QPIDD_OPTIONS --quit" > >> > >> echo "[Starting Brokers...]" > >> $QPIDD $QPIDD_START_OPTIONS --port $P1 --log-to-file log1 --data-dir > >> $DATA_DIR/$P1 --federation-tag B1 > >> $QPIDD $QPIDD_START_OPTIONS --port $P2 --log-to-file log2 --data-dir > >> $DATA_DIR/$P2 --federation-tag B2 > >> $QPIDD $QPIDD_START_OPTIONS --port $P3 --log-to-file log3 --data-dir > >> $DATA_DIR/$P3 --federation-tag B3 > >> > >> echo "[Creating Exchanges...]" > >> $QPID_CONFIG -b $B1 add exchange topic test-topic > >> $QPID_CONFIG -b $B2 add exchange topic test-topic > >> $QPID_CONFIG -b $B3 add exchange topic test-topic > >> > >> echo "[Set up Federation...]" > >> $QPID_ROUTE dynamic add $B1 $B2 test-topic > >> $QPID_ROUTE dynamic add $B2 $B1 test-topic > >> > >> $QPID_ROUTE dynamic add $B3 $B2 test-topic > >> $QPID_ROUTE dynamic add $B2 $B3 test-topic > >> > >> echo "[Creating the Wiring...]" > >> $QPID_CONFIG -b $B1 add queue A > >> $QPID_CONFIG -b $B2 add queue B > >> $QPID_CONFIG -b $B3 add queue C > >> > >> $QPID_CONFIG -b $B1 bind test-topic A A > >> $QPID_CONFIG -b $B2 bind test-topic B B > >> $QPID_CONFIG -b $B3 bind test-topic C C > >> > >> > >> > >> - > >> 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-tp7598100p7598241.html > >> To unsubscribe from Dynamic routing between disconnected exchanges, click > >> here. > >> NAML > > > > > > signature.asc (858 bytes) > > <http://qpid.2158936.n2.nabble.com/attachment/7598243/0/signature.asc> > > > > > > > > > > -- > > View this message in context: > > http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598243.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-tp7598100p7598244.html > To unsubscribe from Dynamic routing between disconnected exchanges, click > here. > NAML signature.asc (858 bytes) <http://qpid.2158936.n2.nabble.com/attachment/7598245/0/signature.asc> -- View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598245.html Sent from the Apache Qpid users mailing list archive at Nabble.com.
Re: Dynamic routing between disconnected exchanges
ake/src > QPIDD=$SRC/qpidd > QPID_CONFIG=$ROOT/tools/src/py/qpid-config > QPID_ROUTE=$ROOT/tools/src/py/qpid-route > DATA_DIR=$HOME/.qpidd > > export PYTHONPATH=$ROOT/python:$ROOT/tools/src/py:$ROOT/extras/qmf/src/py > > P1=10001 > P2=10002 > P3=10003 > > B1=localhost:$P1 > B2=localhost:$P2 > B3=localhost:$P3 > > QPIDD_OPTIONS="--log-enable notice+ --log-to-stderr no --auth no" > QPIDD_START_OPTIONS="$QPIDD_OPTIONS --daemon" > QPIDD_STOP_OPTIONS="$QPIDD_OPTIONS --quit" > > echo "[Starting Brokers...]" > $QPIDD $QPIDD_START_OPTIONS --port $P1 --log-to-file log1 --data-dir > $DATA_DIR/$P1 --federation-tag B1 > $QPIDD $QPIDD_START_OPTIONS --port $P2 --log-to-file log2 --data-dir > $DATA_DIR/$P2 --federation-tag B2 > $QPIDD $QPIDD_START_OPTIONS --port $P3 --log-to-file log3 --data-dir > $DATA_DIR/$P3 --federation-tag B3 > > echo "[Creating Exchanges...]" > $QPID_CONFIG -b $B1 add exchange topic test-topic > $QPID_CONFIG -b $B2 add exchange topic test-topic > $QPID_CONFIG -b $B3 add exchange topic test-topic > > echo "[Set up Federation...]" > $QPID_ROUTE dynamic add $B1 $B2 test-topic > $QPID_ROUTE dynamic add $B2 $B1 test-topic > > $QPID_ROUTE dynamic add $B3 $B2 test-topic > $QPID_ROUTE dynamic add $B2 $B3 test-topic > > echo "[Creating the Wiring...]" > $QPID_CONFIG -b $B1 add queue A > $QPID_CONFIG -b $B2 add queue B > $QPID_CONFIG -b $B3 add queue C > > $QPID_CONFIG -b $B1 bind test-topic A A > $QPID_CONFIG -b $B2 bind test-topic B B > $QPID_CONFIG -b $B3 bind test-topic C C > > > > - > 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-tp7598100p7598241.html > To unsubscribe from Dynamic routing between disconnected exchanges, click > here. > NAML signature.asc (858 bytes) <http://qpid.2158936.n2.nabble.com/attachment/7598243/0/signature.asc> -- View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598243.html Sent from the Apache Qpid users mailing list archive at Nabble.com.
Re: Dynamic routing between disconnected exchanges
s...]" $QPID_CONFIG -b $B1 add exchange topic test-topic $QPID_CONFIG -b $B2 add exchange topic test-topic $QPID_CONFIG -b $B3 add exchange topic test-topic echo "[Set up Federation...]" $QPID_ROUTE dynamic add $B1 $B2 test-topic $QPID_ROUTE dynamic add $B2 $B1 test-topic $QPID_ROUTE dynamic add $B3 $B2 test-topic $QPID_ROUTE dynamic add $B2 $B3 test-topic echo "[Creating the Wiring...]" $QPID_CONFIG -b $B1 add queue A $QPID_CONFIG -b $B2 add queue B $QPID_CONFIG -b $B3 add queue C $QPID_CONFIG -b $B1 bind test-topic A A $QPID_CONFIG -b $B2 bind test-topic B B $QPID_CONFIG -b $B3 bind test-topic C C ------------- 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-tp7598100p7598241.html To unsubscribe from Dynamic routing between disconnected exchanges, click here. NAML signature.asc (858 bytes) <http://qpid.2158936.n2.nabble.com/attachment/7598243/0/signature.asc> -- View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598243.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
Re: Dynamic routing between disconnected exchanges
On 09/17/2013 12:12 PM, bacon wrote: See response inline: On Sep 16, 2013, at 3:31 AM, NimbusParc [via Qpid] wrote: Just now i tried this one. Everything works fine for me. As Ted Ross wrote... 1) Create exchanges 2) Create dynamic routes 3) Create queues and bindings I did this, in this order. After this, just check if all the links are operational or not. All nodes report links are operational. A: HostPortTransport Durable State Last Error = 10.10.10.10 5672tcp Y Operational B: HostPortTransport Durable State Last Error = 10.10.10.1 5672tcp Y Operational 10.10.10.20 5672tcp Y Operational C: HostPortTransport Durable State Last Error = 10.10.10.10 5672tcp Y Operational Closed by peer Then, check in route map that the routes are in bi-directional or not. Previously, route map didn't work because the nodes were on segments that could not talk to each other. I've changed this for testing and they now report that all of the links are bidirectional except to localhost.. does that make any sense? Thats not a route I am declaring, it is being auto created somehow? On A: Finding Linked Brokers: localhost:5672... Ok 10.10.10.10:5672... Ok 10.10.10.1:5672... Ok 10.10.10.20:5672... Ok Dynamic Routes: Exchange test-topic: 10.10.10.10:5672 => localhost:5672 10.10.10.10:5672 <=> 10.10.10.1:5672 10.10.10.20:5672 <=> 10.10.10.10:5672 Static Routes: none found Then check the bindings in between the Exchanges and Queues. Am I supposed to see a binding on A for the queue on C that I want to send to? I don't have such a binding and I think this is the root of the problem. Specifically, on A I have: Exchange 'test-topic' (topic) bind [A] => b8037cdc-97e2-49fc-9c07-d1a1fb2c57dc:0.0 bind [] => A bind [] => qpid.bridge_queue_qpid.tcp:10.10.10.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'', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} bind [B] => qpid.bridge_queue_qpid.tcp:10.10.10.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'', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} What I don't see is something like… bind [C] => qpid.bridge_queue_qpid.tcp:……. Just for reference, below is the shell script I used to test your scenario. My test doesn't have the disjoint IP networks yours does but I believe that's not relevant to what you're seeing. When I run this test, I see bindings for A, B, and C on all nodes. -Ted == #!/bin/bash set -x ROOT=$HOME/svn/qpid SRC=$ROOT/build-cmake/src QPIDD=$SRC/qpidd QPID_CONFIG=$ROOT/tools/src/py/qpid-config QPID_ROUTE=$ROOT/tools/src/py/qpid-route DATA_DIR=$HOME/.qpidd export PYTHONPATH=$ROOT/python:$ROOT/tools/src/py:$ROOT/extras/qmf/src/py P1=10001 P2=10002 P3=10003 B1=localhost:$P1 B2=localhost:$P2 B3=localhost:$P3 QPIDD_OPTIONS="--log-enable notice+ --log-to-stderr no --auth no" QPIDD_START_OPTIONS="$QPIDD_OPTIONS --daemon" QPIDD_STOP_OPTIONS="$QPIDD_OPTIONS --quit" echo "[Starting Brokers...]" $QPIDD $QPIDD_START_OPTIONS --port $P1 --log-to-file log1 --data-dir $DATA_DIR/$P1 --federation-tag B1 $QPIDD $QPIDD_START_OPTIONS --port $P2 --log-to-file log2 --data-dir $DATA_DIR/$P2 --federation-tag B2 $QPIDD $QPIDD_START_OPTIONS --port $P3 --log-to-file log3 --data-dir $DATA_DIR/$P3 --federation-tag B3 echo "[Creating Exchanges...]" $QPID_CONFIG -b $B1 add exchange topic test-topic $QPID_CONFIG -b $B2 add exchange topic test-topic $QPID_CONFIG -b $B3 add exchange topic test-topic echo "[Set up Federation...]" $QPID_ROUTE dynamic add $B1 $B2 test-topic $QPID_ROUTE dynamic add $B2 $B1 test-topic $QPID_ROUTE dynamic add $B3 $B2 test-topic $QPID_ROUTE dynamic add $B2 $B3 test-topic echo "[Creating the Wiring...]" $QPID_CONFIG -b $B1 add queue A $QPID_CONFIG -b $B2 add queue B $QPID_CONFIG -b $B3 add queue C $QPID_CONFIG -b $B1 bind test-topic A A $QPID_CONFIG -b $B2 bind test-topic B B $QPID_CONFIG -b $B3 bind test-topic C C - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Dynamic routing between disconnected exchanges
c) > Exchange 'test-fanout' (fanout) > bind [] => B > bind [] => > qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-fanout!test-fanout!_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'', > u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} > bind [] => > qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-fanout!test-fanout!_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'', > u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} > Exchange 'qmf.default.direct' (direct) > Exchange 'qmf.default.topic' (topic) > bind [direct.8cd9ca02-a36d-413d-ac09-a2d5a9feb534] => > 050aed7f-31c5-4018-ab99-f248b1789573:0.0 > Exchange 'qpid.management' (topic) > > > I really feel like I must be doing something wrong… > > Is there something that I can do to further debug the dynamic route exchange? > Or perhaps I could try manually setting up static exchange routes (actually, > I've tried that but didn't get far). > > -Andrew > > > > > > On Sep 13, 2013, at 1:33 AM, "NimbusParc [via Qpid]" <[hidden email]> wrote: > > > -bacon wrote- > > > Outout of qpid-stat -e on A after trying to send a message to b and then > > > c > > > > > >Exchanges > > > exchangetype dur bind msgIn msgOut msgDrop byteIn > > > byteOut byteDrop > > > > > > >=== > > > > > > direct 3 0 0 00 > > > 00 > > > amq.direct direct Y 076 76 0 34.7k > > > 34.7k 0 > > > amq.fanout fanout Y 0 0 0 00 > > > 00 > > > amq.match headers Y 0 0 0 00 > > > 00 > > > amq.topic topicY 0 0 0 00 > > > 00 > > > test-topictopic2 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 topic1 333 7 326 255k > > > 17.2k 238k > > > qpid.management topic0 0 0 00 > > > 0 0 > > > > > > In the above output it is very clear in the stats of "bytesDrop". > > > > > >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)? > > > > > > >Try once with fanout exchange instead of topic exchange and let me know > > whether any change will be there are not ? > > > > 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-tp7598100p7598155.html > > To unsubscribe from Dynamic routing between disconnected exchanges, click > > here. > > NAML > > > > signature.asc (858 bytes) > <http://qpid.2158936.n2.nabble.com/attachment/7598164/0/signature.asc> > > > 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-tp7598100p7598194.html > To unsubscribe from Dynamic routing between disconnected exchanges, click > here. > NAML signature.asc (858 bytes) <http://qpid.2158936.n2.nabble.com/attachment/7598240/0/signature.asc> -- View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598240.html Sent from the Apache Qpid users mailing list archive at Nabble.com.
Re: Dynamic routing between disconnected exchanges
+1 Ted Ross 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 -- View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598195.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
Re: Dynamic routing between disconnected exchanges
Just now i tried this one. Everything works fine for me. As Ted Ross wrote... 1) Create exchanges 2) Create dynamic routes 3) Create queues and bindings After this, just check if all the links are operational or not. Then, check in route map that the routes are in bi-directional or not. Then check the bindings in between the Exchanges and Queues. Then, test by using "spout" and "drain" examples. Now, you can send messages from A to B, B to C and A to C also. I Think you may be doing mistake in the bindings. (i.e) You should bind the queue to the exchange used in dynamic routing. And separately bind to the same exchange name in another brokers with respected queues. Try freshly by restarting brokers ( take care of the Back up, etc,.) and follow the sequence. Still if you struggle with the same problem, i'll post my step-by-step results. All the best bacon wrote > The changes seem to be in what exchange routes end up being created > however messages are still not making it. Specifically, ./qpid-config > exchanges -r now looks like this: > > > Exchange '' (direct) > bind [050aed7f-31c5-4018-ab99-f248b1789573:0.0] => > 050aed7f-31c5-4018-ab99-f248b1789573:0.0 > bind [B] => B > bind > [qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee] > => > qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee > bind > [qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee] > => > qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee > Exchange 'amq.direct' (direct) > Exchange 'amq.fanout' (fanout) > Exchange 'amq.match' (headers) > Exchange 'amq.topic' (topic) > Exchange 'test-fanout' (fanout) > bind [] => B > bind [] => > qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-fanout!test-fanout!_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'', > u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} > bind [] => > qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-fanout!test-fanout!_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'', > u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} > Exchange 'qmf.default.direct' (direct) > Exchange 'qmf.default.topic' (topic) > bind [direct.8cd9ca02-a36d-413d-ac09-a2d5a9feb534] => > 050aed7f-31c5-4018-ab99-f248b1789573:0.0 > Exchange 'qpid.management' (topic) > > > I really feel like I must be doing something wrong… > > Is there something that I can do to further debug the dynamic route > exchange? Or perhaps I could try manually setting up static exchange > routes (actually, I've tried that but didn't get far). > > -Andrew > > > > > > On Sep 13, 2013, at 1:33 AM, "NimbusParc [via Qpid]" < > ml-node+s2158936n7598155h82@.nabble > > wrote: > >> -bacon wrote- >> > Outout of qpid-stat -e on A after trying to send a message to b and >> then c >> > >> >Exchanges >> > exchangetype dur bind msgIn msgOut msgDrop byteIn >> byteOut byteDrop >> > >> >=== >> > >> > direct 3 0 0 00 >> 00 >> > amq.direct direct Y 076 76 0 34.7k >> 34.7k 0 >> > amq.fanout fanout Y 0 0 0 00 >> 00 >> > amq.match headers Y 0 0 0 00 >> 00 >> > amq.topic topicY 0 0 0 00 >> 00 >> > test-topictopic2 3 2 1 12 >> 84 <--- (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 topic1 333 7 326 255k >> 17.2k 238k >> > qpid.management topi
Re: Dynamic routing between disconnected exchanges
The changes seem to be in what exchange routes end up being created however messages are still not making it. Specifically, ./qpid-config exchanges -r now looks like this: Exchange '' (direct) bind [050aed7f-31c5-4018-ab99-f248b1789573:0.0] => 050aed7f-31c5-4018-ab99-f248b1789573:0.0 bind [B] => B bind [qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee] => qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee bind [qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee] => qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-fanout!test-fanout!_d7ea0855-a1db-451a-bb72-ec61814db3ee Exchange 'amq.direct' (direct) Exchange 'amq.fanout' (fanout) Exchange 'amq.match' (headers) Exchange 'amq.topic' (topic) Exchange 'test-fanout' (fanout) bind [] => B bind [] => qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-fanout!test-fanout!_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'', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} bind [] => qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-fanout!test-fanout!_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'', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'} Exchange 'qmf.default.direct' (direct) Exchange 'qmf.default.topic' (topic) bind [direct.8cd9ca02-a36d-413d-ac09-a2d5a9feb534] => 050aed7f-31c5-4018-ab99-f248b1789573:0.0 Exchange 'qpid.management' (topic) I really feel like I must be doing something wrong… Is there something that I can do to further debug the dynamic route exchange? Or perhaps I could try manually setting up static exchange routes (actually, I've tried that but didn't get far). -Andrew On Sep 13, 2013, at 1:33 AM, "NimbusParc [via Qpid]" wrote: > -bacon wrote- > > Outout of qpid-stat -e on A after trying to send a message to b and then c > > > >Exchanges > > exchangetype dur bind msgIn msgOut msgDrop byteIn > > byteOut byteDrop > > > > >=== > > > > direct 3 0 0 00 > > 00 > > amq.direct direct Y 076 76 0 34.7k > > 34.7k 0 > > amq.fanout fanout Y 0 0 0 00 > > 00 > > amq.match headers Y 0 0 0 00 > > 00 > > amq.topic topicY 0 0 0 00 > > 00 > > test-topictopic2 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 topic1 333 7 326 255k > > 17.2k 238k > > qpid.management topic0 0 0 00 > > 00 > > > In the above output it is very clear in the stats of "bytesDrop". > > > >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)? > > > >Try once with fanout exchange instead of topic exchange and let me know > whether any change will be there are not ? > > 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-tp7598100p7598155.html > To unsubscribe from Dynamic routing between disconnected exchanges, click > here. > NAML signature.asc (858 bytes) <http://qpid.2158936.n2.nabble.com/attachment/7598164/0/signature.asc> -- View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598164.html Sent from the Apache Qpid users mailing list archive at Nabble.com.
Re: Dynamic routing between disconnected exchanges
-bacon wrote- > Outout of qpid-stat -e on A after trying to send a message to b and then c > >Exchanges > exchangetype dur bind msgIn msgOut msgDrop byteIn > byteOut byteDrop > > >=== > direct 3 0 0 00 > 00 > amq.direct direct Y 076 76 0 34.7k > 34.7k 0 > amq.fanout fanout Y 0 0 0 00 > 00 > amq.match headers Y 0 0 0 00 > 00 > amq.topic topicY 0 0 0 00 > 00 > *test-topictopic2 3 2 1 12 > 84 <--- (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 topic1 333 7 326 255k > 17.2k 238k > qpid.management topic0 0 0 00 > 00 In the above output it is very clear in the stats of "bytesDrop". > >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)? > Try once with fanout exchange instead of topic exchange and let me know whether any change will be there are not ? -- View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598155.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
Re: Dynamic routing between disconnected exchanges
amq.topic topicY 0 0 0 00 0 0 test-topictopic2 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 topic1 333 7 326 255k 17.2k 238k qpid.management topic0 0 0 00 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]" 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.
Re: Dynamic routing between disconnected exchanges
fanout Y 0 0 0 00 0 0 amq.match headers Y 0 0 0 00 0 0 amq.topic topicY 0 0 0 00 0 0 test-topictopic2 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 topic1 333 7 326 255k 17.2k 238k qpid.management topic0 0 0 00 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]" 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: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Re: Dynamic routing between disconnected exchanges
dd 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.
Re: Dynamic routing between disconnected exchanges
to b and then > >>> c > >>> > >>> Exchanges > >>> exchangetype dur bind msgIn msgOut msgDrop > >>> byteIn byteOut byteDrop > >>> > >>> === > >>> > >>> direct 3 0 0 00 > >>> 00 > >>> amq.direct direct Y 076 76 0 34.7k > >>> 34.7k 0 > >>> amq.fanout fanout Y 0 0 0 00 > >>> 00 > >>> amq.match headers Y 0 0 0 00 > >>> 00 > >>> amq.topic topicY 0 0 0 00 > >>> 00 > >>> test-topictopic2 3 2 1 12 > >>>84 <--- (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 topic1 333 7 326 255k > >>> 17.2k 238k > >>> qpid.management topic0 0 0 00 > >>> 00 > >>> > >>> > >>> 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 (
Re: Dynamic routing between disconnected exchanges
d.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 exchangetype dur bind msgIn msgOut msgDrop byteIn byteOut byteDrop === direct 3 0 0 00 00 amq.direct direct Y 076 76 0 34.7k 34.7k 0 amq.fanout fanout Y 0 0 0 00 00 amq.match headers Y 0 0 0 00 00 amq.topic topicY 0 0 0 00 00 test-topictopic2 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 topic1 333 7 326 255k 17.2k 238k qpid.management topic0 0 0 00 00 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.
Re: Dynamic routing between disconnected exchanges
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: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org
Dynamic routing between disconnected exchanges
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. 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 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: [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: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org