activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-2774) Network of brokers : Multicast discovery stopped to work
Date Thu, 17 Jun 2010 07:34:52 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-2774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60120#action_60120
] 

Eric commented on AMQ-2774:
---------------------------

We are in a full embedded broker configuration.

I attach a part of an old stack trace (I delete all our own threads and the queueThreads).
I think this trace was done (in march) just when one of our embedded broker doesn't succeed
to reconnect to another one.

This trace is not exactly the same as the explanation since processes are not exactly the
one. But this stack trace shows that "Multicast Discovery Agent Notifier" is blocked on the
remoteBrokerNameKnownLatch.await() into the "bridge.start()" call (DiscoveryNetworkConnector.onServiceAdd)

            localBroker.start();
            remoteBroker.start();
            if (configuration.isDuplex() && duplexInitiatingConnection == null) {
                // initiator side of duplex network
                remoteBrokerNameKnownLatch.await();
            }

Corresponding "serviceFailed" call, can not be called (no exception) until this latch is released,
which can only be done if serviceRemoteBrokerInfo call is done, what can be impossible if
distant embedded broker is failed.

            try {
                bridge.start();
            } catch (Exception e) {
                ServiceSupport.dispose(localTransport);
                ServiceSupport.dispose(remoteTransport);
                LOG.warn("Could not start network bridge between: " + localURIName + " and:
" + uri + " due to: " + e);
                LOG.debug("Start failure exception: " + e, e);
                try {
                    discoveryAgent.serviceFailed(event);
                } catch (IOException e1) {
                    LOG.debug("Discovery agent failure while handling failure event: " + e1.getMessage(),
e1);
                }
                return;
            }

While "serviceFailed" is not called and multicast frames are received, it seems impossible
to try to reconnect to this distant broker even if it is shortly restarted ?



> Network of brokers : Multicast discovery stopped to work
> --------------------------------------------------------
>
>                 Key: AMQ-2774
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2774
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.2.0
>         Environment: Linux
>            Reporter: Eric
>             Fix For: 5.4.1
>
>         Attachments: JMAC-BEA-lastlog.log-20100315
>
>
> Hi everybody
> I experiment a big problem with the multicast discovery algorithm, in a network of brokers
topology.
> In some conditions, a broker can't reestablish a distant connection even if the distant
broker is restarted.
> I have the log traces that would help to identify the origin of the problem.
> When there is no discovery/connection error, I can see these 2 lines in the activemq
log file
> #08 Jun 2010 14:31:30,639  INFO  [Multicast Discovery Agent Notifier] org.apache.activemq.network.DiscoveryNetworkConnector
> Establishing network connection between from vm://ACCLU-tpnocp04v to tcp://tpnocp09v-bus:13100?useLocalHost=false
> #08 Jun 2010 14:31:30,692  INFO  [StartLocalBridge: localBroker=vm://ACCLU-tpnocp04v#26]
org.apache.activemq.network.DemandForwardingBridge
> Network connection between vm://ACCLU-tpnocp04v#26 and tcp://tpnocp09v-bus/10.18.126.28:13100(MOM-tpnocp09v)
has been established.
> When the connection is broken, I can see this line in the log.
> #11 Jun 2010 12:37:32,585  INFO  [Multicast Discovery Agent Notifier] org.apache.activemq.network.DemandForwardingBridge
> ACCLU-tpnocp04v bridge to MOM-tpnocp09v stopped
> Then the current ACCLU-tpnocp04v broker tries to reestablish the connection :
> #11 Jun 2010 12:37:34,475  INFO  [Multicast Discovery Agent Notifier] org.apache.activemq.network.DiscoveryNetworkConnector
> Establishing network connection between from vm://ACCLU-tpnocp04v to tcp://tpnocp09v-bus:13100?useLocalHost=false
> But, here, the second line of the log ("has been established") doesn't appear in the
log file !! I don't know exactly if the connection is up or not.
> Then the connection is broken again (look at "Unknown" instead of "MOM-tpnocp09v".
> #11 Jun 2010 13:33:58,655  WARN  [ActiveMQ Transport: tcp://tpnocp09v-bus/10.18.126.28:13100]
org.apache.activemq.network.DemandForwardingBridge
> Network connection between vm://ACCLU-tpnocp04v#58 and tcp://tpnocp09v-bus/10.18.126.28:13100
shutdown due to a remote error: java.net.SocketException: Connection reset
> #11 Jun 2010 13:33:58,657  INFO  [NetworkBridge] org.apache.activemq.network.DemandForwardingBridge^M
> ACCLU-tpnocp04v bridge to Unknown stopped
> And, now, even if I restart the distant broker ( MOM-tpnocp09v ), no line (Establishing/Has
been established) appears, and no network connection is reestablished between ACCLU-tpnocp04v
and MOM-tpnocp09v. it seems that this ACCLU-tpnocp04v broker can no longer establish a connection
with the MOM-tpnocp09v broker !!!
> The production teams tell me that this problem seems not to be resolved in fuse-5.3.0.6
version.
> Eric-AWL

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message