You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by j0llyr0g3r <ti...@wincor-nixdorf.com> on 2007/10/19 18:35:17 UTC

Broker autofailover: Why don't brokers check that a host is down by themselves?

Hey folks,

i am still struggling with the auto-failover feature of brokers in a broker
network.

Consider that i have two brokers, each of them connected to the other like
this over SSL:

    <networkConnectors>
      <networkConnector name="remote_ssl"
uri="static://(ssl://my-bloody-valentine:61617)" />
    </networkConnectors>

Works like a charm.

Now consider that i have one Broker - called A - connected to a Cluster of 2
other brokers, called B and C.

So the networkconnector for Broker A looks like:


    <networkConnectors>
      <networkConnector name="remote_ssl"
uri="static://(ssl://broker-B:61617, ssl://broker-C:61617)" />
    </networkConnectors>

And the networkConnectors of B and C simply point to A like this:

    <networkConnectors>
      <networkConnector name="remote_ssl"
uri="static://(ssl://broker-A:61617)" />
    </networkConnectors>

So far, so good.

Now i start broker-A and broker-B / broker-C from the cluster.

This works fine, meaning i can stop broker-B, then broker-C becomes the
master, messages are correctly transmitted and so on.

But broker-A always gives me annoying errors like this:

		INFO  DiscoveryNetworkConnector      - Establishing network connection
between from vm://localhost to ssl://broker-C:61627
		WARN  DiscoveryNetworkConnector      - Could not start network bridge
between: vm://localhost and: ssl://broker-C:61627 due to:
java.net.ConnectException: Connection refused
		INFO  DemandForwardingBridge         - localhost bridge to Unknown stopped
		ERROR TransportConnector             - Could not accept connection :
org.apache.activemq.transport.TransportDisposedIOException: Peer
(vm://localhost#68) disposed.
		org.apache.activemq.transport.TransportDisposedIOException: Peer
(vm://localhost#68) disposed.
			at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:87)
			at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
			at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:59)
			at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1178)
			at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:797)
			at
org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:878)
			at
org.apache.activemq.broker.TransportConnector$1$1.run(TransportConnector.java:152)
		INFO  DiscoveryNetworkConnector      - Establishing network connection
between

Well, of course can the connection from broker-A to broker-C not be
established, because broker-C works initially as slave and is thus not
reachable.

BUT: If activemq-brokers do an autofailover, why don't they realize  by
themselves that some hosts in their list are not reachable and stop spamming
my console with the same error message?

How can i get rid of this error message (by configuration, not by
ignorance...:-)?

So far as i can tell, the system works flawless despite the error message.

P.S.:

A uri-prefix like "failover" does not work with brokers.
-- 
View this message in context: http://www.nabble.com/Broker-autofailover%3A-Why-don%27t-brokers-check-that-a-host-is-down-by-themselves--tf4654450s2354.html#a13298393
Sent from the ActiveMQ - User mailing list archive at Nabble.com.