You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hadrian Zbarcea (JIRA)" <ji...@apache.org> on 2010/07/19 16:38:51 UTC

[jira] Created: (AMQ-2836) ConcurrentModificationException while sending messages to composite destinations

ConcurrentModificationException while sending messages to composite destinations
--------------------------------------------------------------------------------

                 Key: AMQ-2836
                 URL: https://issues.apache.org/activemq/browse/AMQ-2836
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.3.1
            Reporter: Hadrian Zbarcea
            Priority: Critical


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:
{code}
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)
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (AMQ-2836) ConcurrentModificationException while sending messages to composite destinations

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-2836.
-----------------------------

    Fix Version/s: 5.4.0
       Resolution: Fixed

resolved in r965517 - logger needs to copy the message before delegating. 

> ConcurrentModificationException while sending messages to composite destinations
> --------------------------------------------------------------------------------
>
>                 Key: AMQ-2836
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2836
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.1
>         Environment: Linux version 2.6.18-92.1.13.el5
> Java 1.6.0_18
>            Reporter: Hadrian Zbarcea
>            Assignee: Gary Tully
>            Priority: Critical
>             Fix For: 5.4.0
>
>
> 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:
> {code}
> 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)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AMQ-2836) ConcurrentModificationException while sending messages to composite destinations

Posted by "Hadrian Zbarcea (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hadrian Zbarcea updated AMQ-2836:
---------------------------------

    Environment: 
Linux version 2.6.18-92.1.13.el5
Java 1.6.0_18

> ConcurrentModificationException while sending messages to composite destinations
> --------------------------------------------------------------------------------
>
>                 Key: AMQ-2836
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2836
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.1
>         Environment: Linux version 2.6.18-92.1.13.el5
> Java 1.6.0_18
>            Reporter: Hadrian Zbarcea
>            Priority: Critical
>
> 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:
> {code}
> 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)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (AMQ-2836) ConcurrentModificationException while sending messages to composite destinations

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully reassigned AMQ-2836:
-------------------------------

    Assignee: Gary Tully

> ConcurrentModificationException while sending messages to composite destinations
> --------------------------------------------------------------------------------
>
>                 Key: AMQ-2836
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2836
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.1
>         Environment: Linux version 2.6.18-92.1.13.el5
> Java 1.6.0_18
>            Reporter: Hadrian Zbarcea
>            Assignee: Gary Tully
>            Priority: Critical
>             Fix For: 5.4.0
>
>
> 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:
> {code}
> 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)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.