Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-6550

Error occured while processing sync command

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Abandoned
    • 5.13.2
    • None
    • Transport
    • None

    Description

      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.

      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)
      

      This exception appears in machine B ActiveMQ logs shortly after the network of machine A is re-connected.

      Attachments

        1. activemq_pub.xml
          6 kB
          Nauman Hameed
        2. activemq_sub.xml
          6 kB
          Nauman Hameed

        Activity

          People

            Unassigned Unassigned
            nauman73 Nauman Hameed
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: