[rabbitmq-discuss] Federation and upstream cluster
Vladislav Pernin
vladislav.pernin at gmail.com
Fri Dec 28 11:09:03 GMT 2012
Tim,
Yes it is a durable exchange.
Vlad
2012/12/28 Tim Watson <tim at rabbitmq.com>
> Vladislav,
>
> Is the upstream exchange you're federating durable? If not, it's going to
> be deleted when you shut the broker down, which would explain the NOT_FOUND
> error.
>
> Cheers,
> Tim
>
> On 28 Dec 2012, at 09:32, Vladislav Pernin wrote:
>
> > Hi,
> >
> >
> > I'm running RabbitMQ 3.0.1 on two cluster of Linux servers.
> >
> > Let's name the two clusters :
> > - downstream cluster running a federation to get messages from upstream
> > cluster
> > - upstream cluster
> >
> > The documentation explains well if a node fails, links to upstream
> > exchanges will be recreated on a surviving node.
> > There is no problem for the "client" side of the federation.
> >
> > I cannot use a load balancer if fail over mode to have high avaibility
> > of the upstream cluster.
> >
> > What would be the recommended solution in this case ?
> >
> >
> > I'm struggling to understand what the question is here Vladislav. The
> 'failover' that is being described in the federation plugin documentation
> is applied when using federation in a cluster, so if the node on which the
> downstream link is running dies, then another downstream node will take
> over (i.e., re-establish the links). There is a choice between clustering
> (i.e., ha/mirror queues) and federation - you do not get 'ha of the
> upstream cluster' in the same sense that mirror queues in a cluster are
> 'ha'. You have federated exchanges which copy data using AMQP (with ACKs
> enabled and some other guarantees) and the ability to try and re-establish
> links and so. Federation however, provides only the Availability and
> Partition tolerance parts of the CAP theorem, not the same Consistency
> guarantees as clustering/ha.
> >
> > I did get that, no problem for the downstream side who hold the
> federation, it works well.
> > Question is really : I have two nodes in the "remote" or upstream
> cluster, I want to get messages of one exchange in a reliable way and the
> network stream has to be establish by the downstream cluster ; how can I be
> tolerant to failure of one remote node ? That is what I have called high
> avaibility on the upstream cluster, but only regarding the transmission of
> the exchange messages to the downstream cluster.
> >
> >
> >
> > I have tried to set up two upstream and group them in a upstream set,
> >
> > Can you post the configuration you're using to do that?
> >
> > The configuration has been done using the HTTP API.
> >
> > curl -i -w %{http_code} -k -u "XXX:XXXX" -XPUT -H
> "content-type:application/json" -d '{
> >
> "pattern":"downstream-exchange","definition":{"federation-upstream-set":"upstreamset-test"}
> > }' https://localhost:15671/api/policies/%2f/federate-me
> >
> > curl -i -w %{http_code} -k -u "XXX:XXXX" -XPUT -H
> "content-type:application/json" -d '{
> > "name":"local-nodename","value":"federation-local"
> > }' https://localhost:15671/api/parameters/federation/%2f/local-nodename
> >
> > curl -i -w %{http_code} -u "XXX:XXXX" -k -s -XPUT -H
> "content-type:application/json" -d "{
> > "value":{
> > "uri":\"amqps://XXX:XXX@remote-server1
> ?certfile=XXXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false"
> > }
> > }"
> https://localhost:15671/api/parameters/federation-upstream/%2f/upstream1
> >
> > curl -i -w %{http_code} -u "XXX:XXXX" -k -s -XPUT -H
> "content-type:application/json" -d "{
> > "value":{
> > "uri":\"amqps://XXX:XXX@remote-server2
> ?certfile=XXXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false"
> > }
> > }"
> https://localhost:15671/api/parameters/federation-upstream/%2f/upstream2
> >
> > curl -i -w %{http_code} -k -u "XXX:XXXX" -XPUT -H
> "content-type:application/json" -d '{
> >
> "value":[{"upstream":"upstream1","exchange":"upstream-exchange"},{"upstream":"upstream2","exchange":"upstream-exchange"}]
> > }'
> https://localhost:15671/api/parameters/federation-upstream-set/%2f/upstreamset-test
> >
> >
> >
> > but I have the following problem :
> > - when I shut down one the node, the federation status shows the
> > matching upstream down as expected but after having restarted the first
> > one, if I shut down the other one, both the federation status shows both
> > upstream down
> >
> > Just to confirm: you're saying that
> >
> > 1. you shut down one of the two upstream nodes
> > 2. that node shows up dead in the web interface
> > 3. you re-start that node
> > 4. that node shows up alive in the web interface
> > 5. you shut down the other upstream node
> > 6. both nodes show up as dead in the web interface *but*
> > 7. one of the upstream nodes *is* alive despite what the web admin says
> >
> > Have I understood that correctly?
> >
> > Absolutely, you can find an extract of the downstream node log
> (rabbit at XXXX.log) at the end of the mail.
> > That is not that easy to read but I think there might be an explanation
> in the logs.
> >
> > Case 2 :
> > web admin says :
> > - upstream1 : running
> > - upstream 2 : error (econnrefused)
> > Everything is OK
> >
> > Case 6 :
> > web admin says :
> > - upstream1 : error (econnrefused)
> > - upstream 2 : shutdown (server_initiated_code,404,<<"NOT_FOUND ...
> > the upstream1 (remote-server1) has been shutdown, but not the upstream2
> (remote-server2).
> >
> >
> >
> > - so, I tried to add a ha-mode policy to all on the federated queue, it
> > is now possible to shutdown either one or the other node,
> >
> > I'm not sure I understand this at all. Are you saying it was not
> possible to shut down one or both of the upstream nodes before? That seems
> different from your earlier comment.
> >
> > My bad ! It is not explained properly. When I was saying "not possible
> to shutdown", I meant shutting down the remote node and having the proper
> status in the federation.
> >
> >
> >
> > but it seems that I'm losing some messages.
> >
> >
> > When you say 'the federated queue' do you mean the queue created in the
> upstream exchange's broker? Why would you want to add ha-mode policy that?
> The upstream queue is internal to the federation mechanism so you should be
> binding to the downstream exchange only. Or are you saying that you've
> bound a queue to the downstream exchange and made that ha-enabled? Because
> in the latter case, that will make no difference to reliability: if both
> upstream nodes go down before messages are delivered and ack'ed by the
> downstream for example.
> >
> > Yes, "federated queue" is the queue created in the upstream exchange's
> broker. So, yes, it does not really make sense to add a ha policy, that was
> just an attempt in order to investigate a little bit further.
> > And yes I did bound a ha queue to the downstream exchange, but I agree,
> it has nothing to do with the subject.
> >
> >
> > I'd be interested to hear how you've set this ha-mode policy and why and
> also how you've determined that there was message loss? I suspect that you
> have assumed expectations about the reliability of federation (in the face
> of node failures) that do not hold. If your messages sat in an exchange on
> an upstream node (or pair of exchanges/nodes, etc) and both nodes die
> before successfully transmitting the messages, then they will not arrive at
> the downstream exchange. The guarantees about message delivery for
> ha/mirror queues apply to nodes in *that* cluster only. The federation
> guarantees are different and orthogonal to ha/clustering.
> >
> > I understand, I just want to make sure that the messages will arrive at
> the downstream exchange, not duplicated and without loss :
> > - if one upstream node dies
> > - if there is network failure between downstream and upstream nodes
> > - if upstream nodes fail and come back again
> >
> > Thanks.
> > Vlad
> >
> > Extract of logs for case 2 :
> >
> > =WARNING REPORT==== 28-Dec-2012::10:27:08 ===
> > Connection (<0.14803.351>) closing: received hard error
> {'connection.close',
> > 320,
> >
> <<"CONNECTION_FORCED - broker forced connection closure with reason
> 'shutdown'">>,
> > 0,0} from server
> >
> > =ERROR REPORT==== 28-Dec-2012::10:27:08 ===
> > ** Generic server <0.14803.351> terminating
> > ** Last message in was {#Ref<0.0.127.4786>,{error,closed}}
> > ** When Server state == {state,amqp_network_connection,
> > {state,
> > {ssl_socket,#Port<0.46383>,
> > {sslsocket,new_ssl,<0.14806.351>}},
> > 600,<0.14808.351>,131072,
> > {server_initiated_close,320,
> > <<"CONNECTION_FORCED - broker forced
> connection closure with reason 'shutdown'">>},
> > false},
> > <0.14802.351>,<0.14805.351>,
> > {amqp_params_network,<<"XXXX">>,
> >
> <<"XXXX">>,<<"/">>,"remote-server2",5671,0,
> > 0,0,infinity,
> > [{fail_if_no_peer_cert,false},
> > {verify,verify_none},
> > {keyfile,
> > "XXXX"},
> > {certfile,
> > "XXXX"}],
> > [#Fun<amqp_uri.7.123484526>,
> > #Fun<amqp_uri.7.123484526>],
> > [],[]},
> > 0,
> > [{<<"capabilities">>,table,
> > [{<<"publisher_confirms">>,bool,true},
> >
> {<<"exchange_exchange_bindings">>,bool,true},
> > {<<"basic.nack">>,bool,true},
> >
> {<<"consumer_cancel_notify">>,bool,true}]},
> > {<<"copyright">>,longstr,
> > <<"Copyright (C) 2007-2012 VMware,
> Inc.">>},
> > {<<"information">>,longstr,
> > <<"Licensed under the MPL. See
> http://www.rabbitmq.com/">>},
> > {<<"platform">>,longstr,<<"Erlang/OTP">>},
> > {<<"product">>,longstr,<<"RabbitMQ">>},
> > {<<"version">>,longstr,<<"3.0.1">>}],
> > #Fun<amqp_connection_sup.0.39273983>,
> > #Fun<amqp_connection_sup.2.54430129>,
> > {closing,server_initiated_close,
> > {'connection.close',320,
> > <<"CONNECTION_FORCED - broker forced
> connection closure with reason 'shutdown'">>,
> > 0,0},
> > none}}
> > ** Reason for termination ==
> > ** socket_closed_unexpectedly
> >
> > =INFO REPORT==== 28-Dec-2012::10:27:08 ===
> > Federation exchange 'downstream-exchange' in vhost '/' disconnected from
> exchange 'upstream-exchange' in vhost '/' on
> amqps://XXXX:XXXX@remote-server2
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false
> > {upstream_channel_down,
> > {connection_closing,
> > {server_initiated_close,320,
> > <<"CONNECTION_FORCED - broker forced connection closure with
> reason 'shutdown'">>}}}
> >
> > =WARNING REPORT==== 28-Dec-2012::10:27:08 ===
> > Federation exchange 'downstream-exchange' in vhost '/' did not connect
> to exchange 'upstream-exchange' in vhost '/' on
> amqps://XXXX:XXXX@remote-server2
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false
> > {error,econnrefused}
> >
> > ==> rabbit at XXXX-sasl.log <==
> >
> > =CRASH REPORT==== 28-Dec-2012::10:27:08 ===
> > crasher:
> > initial call: amqp_gen_connection:init/1
> > pid: <0.14803.351>
> > registered_name: []
> > exception exit: socket_closed_unexpectedly
> > in function gen_server:terminate/6 (gen_server.erl, line 747)
> > ancestors: [<0.14802.351>,amqp_sup,<0.49.0>]
> > messages: []
> > links: [<0.14802.351>]
> > dictionary: []
> > trap_exit: true
> > status: running
> > heap_size: 2584
> > stack_size: 24
> > reductions: 1786
> > neighbours:
> >
> > =SUPERVISOR REPORT==== 28-Dec-2012::10:27:08 ===
> > Supervisor: {<0.14802.351>,amqp_connection_sup}
> > Context: child_terminated
> > Reason: socket_closed_unexpectedly
> > Offender: [{pid,<0.14803.351>},
> > {name,connection},
> > {mfa,
> > {amqp_gen_connection,start_link,
> > [amqp_network_connection,
> > {amqp_params_network,<<"XXXX">>,
> >
> <<"XXXX">>,<<"/">>,"remote-server2",5671,0,0,
> > 0,infinity,
> > [{fail_if_no_peer_cert,false},
> > {verify,verify_none},
> > {keyfile,
> > "XXXX"},
> > {certfile,
> > "XXXX"}],
> > [#Fun<amqp_uri.7.123484526>,
> > #Fun<amqp_uri.7.123484526>],
> > [],[]},
> > #Fun<amqp_connection_sup.0.39273983>,
> > #Fun<amqp_connection_sup.2.54430129>,[]]}},
> > {restart_type,intrinsic},
> > {shutdown,brutal_kill},
> > {child_type,worker}]
> >
> >
> > =SUPERVISOR REPORT==== 28-Dec-2012::10:27:08 ===
> > Supervisor: {<0.14802.351>,amqp_connection_sup}
> > Context: shutdown
> > Reason: reached_max_restart_intensity
> > Offender: [{pid,<0.14803.351>},
> > {name,connection},
> > {mfa,
> > {amqp_gen_connection,start_link,
> > [amqp_network_connection,
> > {amqp_params_network,<<"XXXX">>,
> >
> <<"XXXX">>,<<"/">>,"remote-server2",5671,0,0,
> > 0,infinity,
> > [{fail_if_no_peer_cert,false},
> > {verify,verify_none},
> > {keyfile,
> > "XXXX"},
> > {certfile,
> > "XXXX"}],
> > [#Fun<amqp_uri.7.123484526>,
> > #Fun<amqp_uri.7.123484526>],
> > [],[]},
> > #Fun<amqp_connection_sup.0.39273983>,
> > #Fun<amqp_connection_sup.2.54430129>,[]]}},
> > {restart_type,intrinsic},
> > {shutdown,brutal_kill},
> > {child_type,worker}]
> >
> >
> > ==> rabbit at XXXX.log <==
> >
> > =WARNING REPORT==== 28-Dec-2012::10:27:10 ===
> > Federation exchange 'downstream-exchange' in vhost '/' did not connect
> to exchange 'upstream-exchange' in vhost '/' on
> amqps://XXXX:XXXX@remote-server2
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false
> > {error,econnrefused}
> >
> >
> > Extract of logs for case 6 :
> >
> > =WARNING REPORT==== 28-Dec-2012::10:16:42 ===
> > Connection (<0.32151.341>) closing: received hard error
> {'connection.close',
> > 320,
> >
> <<"CONNECTION_FORCED - broker forced connection closure with reason
> 'shutdown'">>,
> > 0,0} from server
> >
> > =ERROR REPORT==== 28-Dec-2012::10:16:42 ===
> > ** Generic server <0.32151.341> terminating
> > ** Last message in was {#Ref<0.0.123.217100>,{error,closed}}
> > ** When Server state == {state,amqp_network_connection,
> > {state,
> > {ssl_socket,#Port<0.45661>,
> > {sslsocket,new_ssl,<0.32161.341>}},
> > 600,<0.32170.341>,131072,
> > {server_initiated_close,320,
> > <<"CONNECTION_FORCED - broker forced
> connection closure with reason 'shutdown'">>},
> > false},
> > <0.32149.341>,<0.32154.341>,
> > {amqp_params_network,<<"XXXX">>,
> >
> <<"XXXX">>,<<"/">>,"remote-server1",5671,0,
> > 0,0,infinity,
> > [{fail_if_no_peer_cert,false},
> > {verify,verify_none},
> > {keyfile,
> > "XXXX"},
> > {certfile,
> > "XXXX"}],
> > [#Fun<amqp_uri.7.123484526>,
> > #Fun<amqp_uri.7.123484526>],
> > [],[]},
> > 0,
> > [{<<"capabilities">>,table,
> > [{<<"publisher_confirms">>,bool,true},
> >
> {<<"exchange_exchange_bindings">>,bool,true},
> > {<<"basic.nack">>,bool,true},
> >
> {<<"consumer_cancel_notify">>,bool,true}]},
> > {<<"copyright">>,longstr,
> > <<"Copyright (C) 2007-2012 VMware,
> Inc.">>},
> > {<<"information">>,longstr,
> > <<"Licensed under the MPL. See
> http://www.rabbitmq.com/">>},
> > {<<"platform">>,longstr,<<"Erlang/OTP">>},
> > {<<"product">>,longstr,<<"RabbitMQ">>},
> > {<<"version">>,longstr,<<"3.0.1">>}],
> > #Fun<amqp_connection_sup.0.39273983>,
> > #Fun<amqp_connection_sup.2.54430129>,
> > {closing,server_initiated_close,
> > {'connection.close',320,
> > <<"CONNECTION_FORCED - broker forced
> connection closure with reason 'shutdown'">>,
> > 0,0},
> > none}}
> > ** Reason for termination ==
> > ** socket_closed_unexpectedly
> >
> > =ERROR REPORT==== 28-Dec-2012::10:16:42 ===
> > ** Generic server <0.32126.341> terminating
> > ** Last message in was
> {'DOWN',#Ref<0.0.123.217187>,process,<0.32193.341>,
> > shutdown}
> > ** When Server state == {state,
> > {upstream,
> > {amqp_params_network,<<"XXXX">>,
> >
> <<"XXXX">>,<<"/">>,"remote-server1",undefined,0,
> > 0,0,infinity,
> > [{fail_if_no_peer_cert,false},
> > {verify,verify_none},
> > {keyfile,
> > "XXXX"},
> > {certfile,
> > "XXXX"}],
> > [#Fun<amqp_uri.7.123484526>,
> > #Fun<amqp_uri.7.123484526>],
> > [],[]},
> > <<"amqps://XXXX:XXXX@remote-server1
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false">>,
> > {exchange,
> >
> {resource,<<"/">>,exchange,<<"upstream-exchange">>},
> > direct,true,false,false,[],undefined,
> > [{vhost,<<"/">>},
> > {name,<<"federate-me">>},
> > {pattern,<<"downstream-exchange">>},
> > {definition,
> > [{<<"federation-upstream-set">>,
> > <<"upstreamset-test">>}]},
> > {priority,0}]},
> > 1000,1,1,none,none,false,none,<<"upstream1">>},
> > <0.32151.341>,<0.32193.341>,
> > <<"amq.ctag-iCWCgBnLBU7S3cWTi06V1A">>,
> > <<"federation: upstream-exchange ->
> federation-local:downstream-exchange">>,
> > <<"federation: upstream-exchange ->
> federation-local:downstream-exchange B">>,
> > {0,nil},
> > 1,
> > {dict,1,16,16,8,80,48,
> >
> {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},
> > {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
> > [[{<<"test">>,[]}|
> > {set,1,16,16,8,80,48,
> >
> {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
> > []},
> > {{[],[],[],[],
> > [{resource,<<"/">>,queue,
> > <<"downstream-queue">>}],
> >
> [],[],[],[],[],[],[],[],[],[],[]}}}]]}}},
> > <0.32129.341>,<0.32141.341>,
> >
> {resource,<<"/">>,exchange,<<"downstream-exchange">>},
> > {0,nil}}
> > ** Reason for termination ==
> > ** {upstream_channel_down,shutdown}
> >
> > =INFO REPORT==== 28-Dec-2012::10:16:42 ===
> > Federation exchange 'downstream-exchange' in vhost '/' received
> 'basic.cancel'
> >
> > =WARNING REPORT==== 28-Dec-2012::10:16:42 ===
> > Federation exchange 'downstream-exchange' in vhost '/' did not connect
> to exchange 'upstream-exchange' in vhost '/' on
> amqps://XXXX:XXXX@remote-server1
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false
> > {error,econnrefused}
> >
> > ==> rabbit at XXXX-sasl.log <==
> >
> > =CRASH REPORT==== 28-Dec-2012::10:16:42 ===
> > crasher:
> > initial call: amqp_gen_connection:init/1
> > pid: <0.32151.341>
> > registered_name: []
> > exception exit: socket_closed_unexpectedly
> > in function gen_server:terminate/6 (gen_server.erl, line 747)
> > ancestors: [<0.32149.341>,amqp_sup,<0.49.0>]
> > messages: [socket_closed]
> > links: [<0.32149.341>]
> > dictionary: []
> > trap_exit: true
> > status: running
> > heap_size: 2584
> > stack_size: 24
> > reductions: 1794
> > neighbours:
> >
> > =SUPERVISOR REPORT==== 28-Dec-2012::10:16:42 ===
> > Supervisor: {<0.32149.341>,amqp_connection_sup}
> > Context: child_terminated
> > Reason: socket_closed_unexpectedly
> > Offender: [{pid,<0.32151.341>},
> > {name,connection},
> > {mfa,
> > {amqp_gen_connection,start_link,
> > [amqp_network_connection,
> > {amqp_params_network,<<"XXXX">>,
> >
> <<"XXXX">>,<<"/">>,"remote-server1",5671,0,0,
> > 0,infinity,
> > [{fail_if_no_peer_cert,false},
> > {verify,verify_none},
> > {keyfile,
> > "XXXX"},
> > {certfile,
> > "XXXX"}],
> > [#Fun<amqp_uri.7.123484526>,
> > #Fun<amqp_uri.7.123484526>],
> > [],[]},
> > #Fun<amqp_connection_sup.0.39273983>,
> > #Fun<amqp_connection_sup.2.54430129>,[]]}},
> > {restart_type,intrinsic},
> > {shutdown,brutal_kill},
> > {child_type,worker}]
> >
> >
> > =SUPERVISOR REPORT==== 28-Dec-2012::10:16:42 ===
> > Supervisor: {<0.32149.341>,amqp_connection_sup}
> > Context: shutdown
> > Reason: reached_max_restart_intensity
> > Offender: [{pid,<0.32151.341>},
> > {name,connection},
> > {mfa,
> > {amqp_gen_connection,start_link,
> > [amqp_network_connection,
> > {amqp_params_network,<<"XXXX">>,
> >
> <<"XXXX">>,<<"/">>,"remote-server1",5671,0,0,
> > 0,infinity,
> > [{fail_if_no_peer_cert,false},
> > {verify,verify_none},
> > {keyfile,
> > "XXXX"},
> > {certfile,
> > "XXXX"}],
> > [#Fun<amqp_uri.7.123484526>,
> > #Fun<amqp_uri.7.123484526>],
> > [],[]},
> > #Fun<amqp_connection_sup.0.39273983>,
> > #Fun<amqp_connection_sup.2.54430129>,[]]}},
> > {restart_type,intrinsic},
> > {shutdown,brutal_kill},
> > {child_type,worker}]
> >
> >
> > =CRASH REPORT==== 28-Dec-2012::10:16:42 ===
> > crasher:
> > initial call: gen:init_it/6
> > pid: <0.32126.341>
> > registered_name: []
> > exception exit: {upstream_channel_down,shutdown}
> > in function gen_server2:terminate/3
> > ancestors: [<0.32125.341>,<0.218.0>,rabbit_federation_link_sup_sup,
> > rabbit_federation_sup,rabbit_sup,<0.165.0>]
> > messages:
> [{'DOWN',#Ref<0.0.123.217038>,process,<0.32141.341>,normal}]
> > links: [<0.32125.341>]
> > dictionary: []
> > trap_exit: true
> > status: running
> > heap_size: 1597
> > stack_size: 24
> > reductions: 2291192
> > neighbours:
> >
> > ==> rabbit at XXXX.log <==
> >
> > =WARNING REPORT==== 28-Dec-2012::10:16:44 ===
> > Federation exchange 'downstream-exchange' in vhost '/' did not connect
> to exchange 'upstream-exchange' in vhost '/' on
> amqps://XXXX:XXXX@remote-server1
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false
> > {error,econnrefused}
> >
> > =WARNING REPORT==== 28-Dec-2012::10:16:46 ===
> > Federation exchange 'downstream-exchange' in vhost '/' did not connect
> to exchange 'upstream-exchange' in vhost '/' on
> amqps://XXXX:XXXX@remote-server2
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false
> > {{shutdown,{server_initiated_close,404,
> > <<"NOT_FOUND - home node
> 'rabbit at remote-server1' of durable queue 'federation: upstream-exchange
> -> federation-local:downstream-exchange' in vhost '/' is down or
> inaccessible">>}},
> > {gen_server,call,
> > [<0.7847.351>,
> > {call,{'queue.declare',0,
> > <<"federation: upstream-exchange ->
> federation-local:downstream-exchange">>,
> > false,true,false,false,false,[]},
> > none,<0.7815.351>},
> > infinity]}}
> >
> > =WARNING REPORT==== 28-Dec-2012::10:16:48 ===
> > Federation exchange 'downstream-exchange' in vhost '/' did not connect
> to exchange 'upstream-exchange' in vhost '/' on
> amqps://XXXX:XXXX@remote-server1
> ?certfile=XXXX&keyfile=XXXX&verify=verify_none&fail_if_no_peer_cert=false
> > {error,econnrefused}
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121228/59629303/attachment.htm>
More information about the rabbitmq-discuss
mailing list