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

Killing broker causes other enormous error logging in remaining networked brokers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.1
    • 3.1
    • Transport
    • None
    • 3.1-M3

    Description

      I configured clustering between 2 brokers (I called them alpha and beta). To configure clustering I added the following into the activemq.xml file:

      <discoveryAgent>
      <zeroconfDiscovery type="_activemq.broker.development."/>
      </discoveryAgent>
      <discoveryNetworkConnector/>

      When I start the brokers up, clustering seems fine, as both brokers successfully join the cluster, and I'm able to use the example producer/consumer to send/receive from either of the brokers.

      However, when I shutdown one of the brokers via kill (in this test run I killed beta), the remaining broker gets into a bad state, and ends up logging approximately 80 megs worth of this stack trace:

      2005-06-27 14:34:38,203 [localport=1322]] WARN ActiveMQConnection - Async exception with no exception listener: javax.jms.JMSException: asyncSend failed: java.net.SocketException: Connection reset by peer: socket write error
      javax.jms.JMSException: asyncSend failed: java.net.SocketException: Connection reset by peer: socket write error
      at org.activemq.util.JMSExceptionHelper.newJMSException(JMSExceptionHelper.java:49)
      at org.activemq.transport.tcp.TcpTransportChannel.doAsyncSend(TcpTransportChannel.java:479)
      at org.activemq.transport.tcp.TcpTransportChannel.asyncSend(TcpTransportChannel.java:286)
      at org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1190)
      at org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1167)
      at org.activemq.ActiveMQConnection.sendConnectionInfoToBroker(ActiveMQConnection.java:1452)
      at org.activemq.ActiveMQConnection.close(ActiveMQConnection.java:757)
      at org.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:982)
      at org.activemq.transport.TransportChannelSupport.onAsyncException(TransportChannelSupport.java:445)
      at org.activemq.transport.tcp.TcpTransportChannel.doAsyncSend(TcpTransportChannel.java:480)
      at org.activemq.transport.tcp.TcpTransportChannel.asyncSend(TcpTransportChannel.java:286)
      at org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1190)
      at org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1167)
      at org.activemq.ActiveMQConnection.sendConnectionInfoToBroker(ActiveMQConnection.java:1452)
      at org.activemq.ActiveMQConnection.close(ActiveMQConnection.java:757)
      at org.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:982)
      at org.activemq.transport.TransportChannelSupport.onAsyncException(TransportChannelSupport.java:445)
      at org.activemq.transport.tcp.TcpTransportChannel.doAsyncSend(TcpTransportChannel.java:480)
      at org.activemq.transport.tcp.TcpTransportChannel.asyncSend(TcpTransportChannel.java:286)
      at org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1190)
      at org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1167)
      at org.activemq.ActiveMQConnection.sendConnectionInfoToBroker(ActiveMQConnection.java:1452)
      at org.activemq.ActiveMQConnection.close(ActiveMQConnection.java:757)
      at org.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:982)
      at org.activemq.transport.TransportChannelSupport.onAsyncException(TransportChannelSupport.java:445)
      at org.activemq.transport.tcp.TcpTransportChannel.doClose(TcpTransportChannel.java:509)
      at org.activemq.transport.tcp.TcpTransportChannel.run(TcpTransportChannel.java:326)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: java.net.SocketException: Connection reset by peer: socket write error
      at java.net.SocketOutputStream.socketWrite0(Native Method)
      at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
      at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
      at org.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:109)
      at java.io.DataOutputStream.flush(DataOutputStream.java:106)
      at org.activemq.transport.tcp.TcpTransportChannel.doAsyncSend(TcpTransportChannel.java:471)
      ... 26 more

      After restarting the beta broker I just killed, it seems to join the cluster properly, but as soon as I connect the consumer example to the alpha broker, the alpha proceeds to log another 80 megs worth of the same exceptions.

      Attachments

        Activity

          People

            rsaba Ramzi Saba
            rsaba Ramzi Saba
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: