Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-2274

Static Bridge Not Able to Reconnect after Downstream Broker Hard Kill

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • JBoss A-MQ 6.2.1, JBoss A-MQ 6.3
    • broker, networks
    • None
    • Hide

      This does not seem to occur with staticBridge=false, so configuring a non-static bridge excluding all but static destinations may be a potential work-around:

       
      <networkConnectors> 
        <networkConnector name="linkToDownstream" uri="static:(tcp://node11.dhawkins.redhat.com:61616)" consumerTTL="1" messageTTL="-1" duplex="true" userName="admin" password="admin" staticBridge="false"> 
          <excludedDestinations> 
            <queue physicalName=">"/> 
            <topic physicalName=">"/> 
          </excludedDestinations> 
          <staticallyIncludedDestinations> 
            <queue physicalName="AMQ.Transport.Inbound" /> 
          </staticallyIncludedDestinations> 
        </networkConnector> 
      </networkConnectors> 
      
      Show
      This does not seem to occur with staticBridge=false, so configuring a non-static bridge excluding all but static destinations may be a potential work-around: <networkConnectors> <networkConnector name= "linkToDownstream" uri= "static:(tcp://node11.dhawkins.redhat.com:61616)" consumerTTL= "1" messageTTL= "-1" duplex= "true" userName= "admin" password= "admin" staticBridge= "false" > <excludedDestinations> <queue physicalName= "> " /> <topic physicalName= "> " /> </excludedDestinations> <staticallyIncludedDestinations> <queue physicalName= "AMQ.Transport.Inbound" /> </staticallyIncludedDestinations> </networkConnector> </networkConnectors>
    • Hide

      Broker configurations attached.
      1. Configure a "proxy" broker with the activemq-proxy.xml configuration
      2. Configure a "target" broker with the activemq-downstream.xml configuration
      3. Start the brokers
      4. Connect an external queue consumer against the downstream broker for queue AMQ.Inbound.
      5. Start an external producer producing messages to the proxy broker on queue AMQ.Inbound
      6. Verify that the consumer is receiving messages
      7. Kill the downstream broker instance with SIGKILL (kill -9)
      8. Restart the downstream broker
      9. The bridge is never recovered until the upstream / proxy broker is restarted.

      Show
      Broker configurations attached. 1. Configure a "proxy" broker with the activemq-proxy.xml configuration 2. Configure a "target" broker with the activemq-downstream.xml configuration 3. Start the brokers 4. Connect an external queue consumer against the downstream broker for queue AMQ.Inbound. 5. Start an external producer producing messages to the proxy broker on queue AMQ.Inbound 6. Verify that the consumer is receiving messages 7. Kill the downstream broker instance with SIGKILL (kill -9) 8. Restart the downstream broker 9. The bridge is never recovered until the upstream / proxy broker is restarted.

    Description

      When a bridge between 2 AMQ instances (an upstream "proxy" and a downstream "target" is configured as a static bridge and message traffic exists in the network, if the downstream broker is abnormally terminated and then restarted, the bridge is never reestablished, even if the broker is accepting client connections. Instead the upstream "proxy" broker repeatedly logs the warning:

       2019-02-07 10:25:52,202 | WARN | .221:61616@52912 | DemandForwardingBridgeSupport | 139 - org.apache.activemq.activemq-osgi - 5.11.0.redhat-621222 | Network connection between vm://amq#16 and tcp://node11.dhawkins.redhat.com/10.0.0.221:61616@52912 shutdown due to a remote error: java.io.IOException: ShutdownInfo {commandId = 1, responseRequired = false} 
      

      while the downstream target broker logs:

       
      2019-02-07 16:38:44,046 | WARN | 0.12:35198@61616 | DemandForwardingBridgeSupport | 139 - org.apache.activemq.activemq-osgi - 5.11.0.redhat-621222 | Network connection between vm://amq#84 and tcp:///10.0.0.12:35198@61616 shutdown due to a remote error: java.lang.NullPointerException 
      

      This issue is reproducible in the latest AMQ-6.2.1-621222 distribution, but does not seem to reproduce in AMQ-6.3.0-630371.

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhn-support-dhawkins Duane Hawkins
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: