activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nauman Hameed (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-6550) Error occured while processing sync command
Date Fri, 30 Dec 2016 07:17:58 GMT

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

Nauman Hameed commented on AMQ-6550:
------------------------------------

[~tabish121]: Out of curiosity, I cloned the ActiveMQ source from git repository at https://git-wip-us.apache.org/repos/asf/activemq.git
and searched for the method *isAllowLinkStealing* in the source. I get following code for
the method in the *org.apache.activemq.broker.TransportConnector* class (i.e. where I am getting
the exception).

{code:xml}
    @Override
    public boolean isAllowLinkStealing() {
        return server.isAllowLinkStealing();
    }
{code}

Because there is a NullPointerException, this means that the server object is Null. Adding
a Null check in the method can avoid the NullPointerException but I don't know if this is
going to solve the actual issue.


> Error occured while processing sync command
> -------------------------------------------
>
>                 Key: AMQ-6550
>                 URL: https://issues.apache.org/jira/browse/AMQ-6550
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.13.2
>            Reporter: Nauman Hameed
>         Attachments: activemq_pub.xml, activemq_sub.xml
>
>
> I have a two machine setup with an ActiveMQ broker on each. Applications on both machines
use the local broker to send status messages to each other. We were doing some testing to
see the impact of network disconnect and reconnect on one machine, so we did network unplug
and re-plug cycles on one machine (machine A) again and again with some delay (around 5 minutes
delay). The brokers reconnected fine and applications were able to exchange status message
on all but one such cycle. In the problem cycle machine A was unable to receive messages after
network re-connect. On some investigation, we can see following exception in the machine B
ActiveMQ logs.
> {code:xml}
> 2016-12-22 08:43:14,524 | DEBUG | Error occured while processing sync command: ConsumerInfo
{commandId = 4, responseRequired = true, consumerId = CCM-UACSCHP002->CCM-UACSCHP001-64290-1482319725974-53:1:1:2,
destination = topic://EEP, prefetchSize = 100, maximumPendingMessageLimit = 0, browser = false,
dispatchAsync = true, selector = null, clientId = null, subscriptionName = NC-DS_CCM-UACSCHP002_EEP,
noLocal = false, exclusive = false, retroactive = false, priority = 0, brokerPath = [ID:ccm-uacschp001-49159-1482188226837-0:1],
optimizedAcknowledge = false, noRangeAcks = false, additionalPredicate = org.apache.activemq.command.NetworkBridgeFilter@e714024},
exception: java.lang.NullPointerException | org.apache.activemq.broker.TransportConnection.Service
| triggerStartAsyncNetworkBridgeCreation: remoteBroker=tcp://CCM-UACSCHP001/10.49.224.23:61616@65477,
localBroker= vm://CCM-UACSCHP002#172
>     java.lang.NullPointerException
>     	at org.apache.activemq.broker.TransportConnector.isAllowLinkStealing(TransportConnector.java:582)
>     	at org.apache.activemq.broker.ConnectionContext.isAllowLinkStealing(ConnectionContext.java:337)
>     	at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:128)
>     	at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:427)
>     	at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:103)
>     	at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:128)
>     	at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:103)
>     	at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:103)
>     	at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:103)
>     	at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:108)
>     	at org.apache.activemq.broker.util.LoggingBrokerPlugin.addConsumer(LoggingBrokerPlugin.java:186)
>     	at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:103)
>     	at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:108)
>     	at org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:671)
>     	at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:351)
>     	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:338)
>     	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
>     	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
>     	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
>     	at org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:162)
>     	at org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:154)
>     	at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:131)
>     	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
>     	at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
>     	at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
>     	at org.apache.activemq.network.DemandForwardingBridgeSupport.addSubscription(DemandForwardingBridgeSupport.java:920)
>     	at org.apache.activemq.network.DurableConduitBridge.setupStaticDestinations(DurableConduitBridge.java:79)
>     	at org.apache.activemq.network.DemandForwardingBridgeSupport.doStartLocalAndRemoteBridges(DemandForwardingBridgeSupport.java:436)
>     	at org.apache.activemq.network.DemandForwardingBridgeSupport.access$500(DemandForwardingBridgeSupport.java:105)
>     	at org.apache.activemq.network.DemandForwardingBridgeSupport$5.run(DemandForwardingBridgeSupport.java:336)
>     	at java.lang.Thread.run(Unknown Source)
> {code}
> This exception appears in machine B ActiveMQ logs shortly after the network of machine
A is re-connected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message