Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
5.3.1
-
None
-
None
-
Linux version 2.6.18-92.1.13.el5
Java 1.6.0_18
Description
When the LoggingBrokerPlugin is used and sending messages to composite destinations there is a very high amount of ConcurrentModificationException on the broker.
The exception thrown on the server side is also propagated to the client side and appears there as well as the additional exception that is thrown on the client side.
This is the stack trace on the server side:
java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$EntryIterator.next(HashMap.java:834) at java.util.HashMap$EntryIterator.next(HashMap.java:832) at java.util.HashMap.putAllForCreate(HashMap.java:435) at java.util.HashMap.<init>(HashMap.java:225) at org.apache.activemq.command.Message.copy(Message.java:120) at org.apache.activemq.command.ActiveMQMessage.copy(ActiveMQMessage.java:64) at org.apache.activemq.command.ActiveMQObjectMessage.copy(ActiveMQObjectMessage.java:81) at org.apache.activemq.command.ActiveMQObjectMessage.copy(ActiveMQObjectMessage.java:75) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:88) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133) at org.apache.activemq.broker.util.LoggingBrokerPlugin.send(LoggingBrokerPlugin.java:280) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:446) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:631) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:300) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:216) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:204) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:186) at java.lang.Thread.run(Thread.java:619)