Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-1345

Concurrent Modification Exceptions after Message.copy

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.3.0
    • 2.5.0
    • AMQP, Broker
    • None

    Description

      Consider tests
      org.apache.activemq.artemis.tests.integration.jms.cluster.AutoCreateQueueClusterTest
      org.apache.activemq.artemis.tests.integration.jms.cluster.TemporaryQueueClusterTest
      org.apache.activemq.artemis.tests.integration.jms.cluster.TopicClusterTest

      When they are adapted to run through multiple JMS ConnectionFactories in turn, these test are always passing with Core, one test method fails with OpenWire (reported as ARTEMIS-1344), but all fail with AMQP.

      The broker prints the following error (every time)

      [Thread-3 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@18e36d14)] 10:30:51,380 WARN  [org.apache.activemq.artemis.core.server] AMQ222151: removing consumer which did not handle a message, consumer=org.apache.activemq.artemis.core.server.cluster.impl.Redistributor@6c72718c, message=Reference[28]:RELIABLE:org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage@799ad5a1: java.lang.UnsupportedOperationException
      	at java.util.AbstractMap.put(AbstractMap.java:209) [rt.jar:1.8.0_131]
      	at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.putBytesProperty(AMQPMessage.java:690) [:]
      	at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.putBytesProperty(AMQPMessage.java:743) [:]
      	at org.apache.activemq.artemis.core.server.cluster.impl.RemoteQueueBindingImpl.addRouteContextToMessage(RemoteQueueBindingImpl.java:334) [:]
      	at org.apache.activemq.artemis.core.server.cluster.impl.RemoteQueueBindingImpl.route(RemoteQueueBindingImpl.java:175) [:]
      	at org.apache.activemq.artemis.core.postoffice.impl.BindingsImpl.redistribute(BindingsImpl.java:222) [:]
      	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.redistribute(PostOfficeImpl.java:868) [:]
      	at org.apache.activemq.artemis.core.server.cluster.impl.Redistributor.handle(Redistributor.java:150) [:]
      	at org.apache.activemq.artemis.core.server.impl.QueueImpl.handle(QueueImpl.java:2802) [:]
      	at org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2187) [:]
      	at org.apache.activemq.artemis.core.server.impl.QueueImpl.access$1900(QueueImpl.java:105) [:]
      	at org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:2994) [:]
      	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [:]
      	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [:]
      	at org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) [:]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_131]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_131]
      	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
      
      [Thread-3 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@18e36d14)] 10:30:51,381 ERROR [org.apache.activemq.artemis.core.server] AMQ224041: Failed to deliver: java.util.NoSuchElementException
      	at org.apache.activemq.artemis.utils.collections.PriorityLinkedListImpl$PriorityLinkedListIterator.repeat(PriorityLinkedListImpl.java:161) [:]
      	at org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2205) [:]
      	at org.apache.activemq.artemis.core.server.impl.QueueImpl.access$1900(QueueImpl.java:105) [:]
      	at org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:2994) [:]
      	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [:]
      	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [:]
      	at org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) [:]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_131]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_131]
      	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
      

      Attachments

        Issue Links

          Activity

            People

              clebertsuconic Clebert Suconic
              jdanek Jiri Daněk
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: