You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/07/03 20:19:00 UTC

[jira] [Commented] (AMQ-7001) Contention on message properties with amqp jms transfromer and kahadb concurrentStoreAndDispatch

    [ https://issues.apache.org/jira/browse/AMQ-7001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16531878#comment-16531878 ] 

ASF subversion and git services commented on AMQ-7001:
------------------------------------------------------

Commit 83514ef799cb71c3ed1ee1f81553d87383f2cd42 in activemq's branch refs/heads/master from gtully
[ https://git-wip-us.apache.org/repos/asf?p=activemq.git;h=83514ef ]

AMQ-7001 - ensure cursor pending cached id list is pruned of futures that end in an exception, fix and test


> Contention on message properties with amqp jms transfromer and kahadb concurrentStoreAndDispatch
> ------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-7001
>                 URL: https://issues.apache.org/jira/browse/AMQ-7001
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 5.15.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>            Priority: Major
>             Fix For: 5.16.0
>
>
> Openwire to AMQP
> Send can fail with ConcurrentModificationException. Stack trace:
> {code:java}
> javax.jms.JMSException: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
> at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
> at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1403)
> at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1436)
> at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1323)
> at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1976)
> at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:288)
> at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:223)
> at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
> at org.apache.activemq.transport.amqp.interop.OpenWireToAmqpConcurrentStoreAndDispatchTest$2.run(OpenWireToAmqpConcurrentStoreAndDispatchTest.java:158)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.Throwable: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:924)
> at org.apache.activemq.broker.region.Queue.send(Queue.java:767)
> at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:505)
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:477)
> at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:293)
> at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
> at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:295)
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)
> at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:572)
> at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:330)
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:194)
> at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)
> at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
> at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
> ... 1 more
> Caused by: java.util.ConcurrentModificationException
> at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
> at java.util.HashMap$KeyIterator.next(HashMap.java:1461)
> at org.apache.activemq.util.MarshallingSupport.marshalPrimitiveMap(MarshallingSupport.java:61)
> at org.apache.activemq.command.Message.beforeMarshall(Message.java:261)
> at org.apache.activemq.openwire.v11.MessageMarshaller.looseMarshal(MessageMarshaller.java:281)
> at org.apache.activemq.openwire.v11.ActiveMQMessageMarshaller.looseMarshal(ActiveMQMessageMarshaller.java:111)
> at org.apache.activemq.openwire.v11.ActiveMQBytesMessageMarshaller.looseMarshal(ActiveMQBytesMessageMarshaller.java:111)
> at org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:162)
> at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.addMessage(KahaDBStore.java:537)
> at org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask.run(KahaDBStore.java:1513)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> ... 1 more{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)