Hello.
We've found some issues in ActiveMQ 4.0 Final. When unplugging cable from
the broker and then pluging it in again, client tries to reconnect, but in
broker old client connection still exists and broker fails with lots of
different exceptions going one after another. The broker is running on linux
(it is more difficult to reproduce it in windows, cause linux doesn't detect
when cable is disconnected).
The queues after that become corrupted somehow and you need to restart the
broker.
The exceptions are (I'm not pasting the same exceptions for different
subscriptions):
2006-05-25 19:49:32,252 [168.111.54:1901] INFO Service
- Sync error occurred: javax.jms.InvalidClientIDException: Broker: localhost
- Client: ID:Notebook-1958-1148561837553-2:0 already connected
javax.jms.InvalidClientIDException: Broker: localhost - Client:
ID:Notebook-1958-1148561837553-2:0 already connected
at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:176)
at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:69)
at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:69)
at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:69)
at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:82)
at
org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:507)
at
org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:82)
at
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:118)
at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:143)
at java.lang.Thread.run(Thread.java:595)
2006-05-25 19:49:32,258 [168.111.54:1901] ERROR ManagedRegionBroker
- Failed to register subscription QueueSubscription:
consumer=ID:Notebook-1958-1148561837553-1:0:3:1, destinations=0,
dispatched=0, delivered=0, pending=0
javax.management.InstanceAlreadyExistsException:
org.apache.activemq:BrokerName=localhost,Type=Subscription,active=true,name=ID_Notebook-1958-1148561837553-1_0_3_1
at
com.sun.jmx.mbeanserver.RepositorySupport.addMBean(RepositorySupport.java:452)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1410)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:936)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:337)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:497)
at
org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription(ManagedRegionBroker.java:260)
at
org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription(ManagedRegionBroker.java:180)
at
org.apache.activemq.broker.jmx.ManagedQueueRegion.createSubscription(ManagedQueueRegion.java:45)
at
org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:145)
at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:293)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
at
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:77)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
at
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:86)
at
org.apache.activemq.broker.AbstractConnection.processAddConsumer(AbstractConnection.java:427)
at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:295)
at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:143)
at java.lang.Thread.run(Thread.java:595)
2006-05-25 19:50:29,549 [-192.168.111.54] WARN AbstractConnection
- Failed to remove consumer: ID:Notebook-1958-1148561837553-1:0:3:1. Reason:
java.lang.IllegalArgumentException: The subscription does not exist:
ID:Notebook-1958-1148561837553-1:0:3:1
java.lang.IllegalArgumentException: The subscription does not exist:
ID:Notebook-1958-1148561837553-1:0:3:1
at
org.apache.activemq.broker.region.AbstractRegion.removeConsumer(AbstractRegion.java:202)
at
org.apache.activemq.broker.region.RegionBroker.removeConsumer(RegionBroker.java:313)
at
org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:101)
at
org.apache.activemq.advisory.AdvisoryBroker.removeConsumer(AdvisoryBroker.java:209)
at
org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:101)
at
org.apache.activemq.broker.MutableBrokerFilter.removeConsumer(MutableBrokerFilter.java:114)
at
org.apache.activemq.broker.AbstractConnection.processRemoveConsumer(AbstractConnection.java:445)
at
org.apache.activemq.broker.AbstractConnection.processRemoveSession(AbstractConnection.java:471)
at
org.apache.activemq.broker.AbstractConnection.processRemoveConnection(AbstractConnection.java:526)
at
org.apache.activemq.broker.AbstractConnection.stop(AbstractConnection.java:159)
at
org.apache.activemq.broker.TransportConnection.stop(TransportConnection.java:94)
at
org.apache.activemq.broker.jmx.ManagedTransportConnection.stop(ManagedTransportConnection.java:62)
at
org.apache.activemq.broker.jmx.ConnectionView.stop(ConnectionView.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:414)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1341)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
2006-05-25 20:12:20,972 [168.111.54:4715] INFO Service
- Async error occurred: javax.jms.JMSException: Transaction
'TX:ID:Notebook-1958-1148561837553-1:0:163' has not been started.
javax.jms.JMSException: Transaction
'TX:ID:Notebook-1958-1148561837553-1:0:163' has not been started.
at
org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:229)
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:172)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:65)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:65)
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:78)
at
org.apache.activemq.broker.AbstractConnection.processMessageAck(AbstractConnection.java:356)
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:178)
at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:143)
at java.lang.Thread.run(Thread.java:595)
--
View this message in context:
http://www.nabble.com/ActiveMQ+broker+brokes+down+on+client+reconnect-t1682129.html#a4562280
Sent from the ActiveMQ - User forum at Nabble.com.