qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bacon <ba...@grimm-co.com>
Subject Re: Dynamic routing between disconnected exchanges
Date Tue, 17 Sep 2013 16:12:33 GMT
See response inline: 

On Sep 16, 2013, at 3:31 AM, NimbusParc [via Qpid] <ml-node+s2158936n7598194h91@n2.nabble.com>
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:
Host            Port    Transport Durable  State             Last Error
=============================================================================
10.10.10.10     5672    tcp          Y     Operational       



B:
Host            Port    Transport Durable  State             Last Error
=============================================================================
10.10.10.1      5672    tcp          Y     Operational       
10.10.10.20     5672    tcp          Y     Operational       


C:
Host            Port    Transport Durable  State             Last Error
=============================================================================
10.10.10.10     5672    tcp          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:…….



What does qpid-config exchanges -r look like for you?

>  Then, test by using "spout" and "drain" examples. 

Same result, messages from A to b work fine but messages to c result in a dropped message.



Thanks,
  -Andrew

> 
> 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]" <[hidden email]> wrote: 
> 
> > -----------------bacon wrote------------- 
> > > 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 
> > 
> > 
> >     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.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message