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

Justin Bertram edited comment on ARTEMIS-3509 at 11/25/21, 2:47 PM:
--------------------------------------------------------------------

The 2.16.0 release is a bit old at this point. Can you reproduce with the 
latest 2.19.0 release?

In general, I would recommend running your broker _standalone_ (i.e. outside of 
containers like WildFly). WildFly does, of course, integrate ActiveMQ Artemis 
as its JMS implementation, but this integration makes upgrading the broker 
difficult which can be important when you need bug fixes.


was (Author: jbertram):
The 2.16.0 release is a bit old at this point. Can you reproduce with the 
latest 2.20.0 release?

In general, I would recommend running your broker _standalone_ (i.e. outside of 
containers like WildFly). WildFly does, of course, integrate ActiveMQ Artemis 
as its JMS implementation, but this integration makes upgrading the broker 
difficult which can be important when you need bug fixes.

> STOMP Websocket client disconnected after ConcurrentModificationException in 
> Broker
> -----------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-3509
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3509
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.16.0
>            Reporter: Elodie Vandromme
>            Priority: Major
>
> Web clients connected through WebSocket are randomly disconnected from 
> artemis broker without notification of the disconnection.
> A ConcurrentModificationException is raised;
> {noformat}
> [2021-09-28 10:26:53,591] - [WILDFLY] - [WARN ] - [Thread-11 
> ([ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@444dc7ba|mailto:ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@444dc7ba])]
>  - [org.apache.activemq.artemis.core.server] : *AMQ222151: removing consumer 
> which did not handle a message*, consumer=ServerConsumerImpl [id=1990, 
> filter=null, binding=LocalQueueBinding [address=jms.topic.defended_assetFull, 
> queue=QueueImpl[name=d1586796-2035-11ec-8d2e-00505689a76b, 
> postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::serverUUID=2f00c36f-2034-11ec-8d2e-00505689a76b], 
> temp=true]@4180826b, filter=null, name=d1586796-2035-11ec-8d2e-00505689a76b, 
> clusterName=d1586796-2035-11ec-8d2e-00505689a76b2f00c36f-2034-11ec-8d2e-00505689a76b]],
>  
> message=Reference[2019]:RELIABLE:CoreMessage[messageID=2019,durable=true,userID=d5e2d1c3-2035-11ec-8d2e-00505689a76b,priority=4,
>  timestamp=Tue Sep 28 10:26:53 CEST 2021,expiration=0, durable=true, 
> address=jms.topic.defended_assetFull,size=6520,properties=TypedProperties[__AMQ_CID=f9eab79a-2034-11ec-8d2e-00505689a76b,_AMQ_ROUTING_TYPE=0]]@155890432:
>  java.util.ConcurrentModificationException
>                     at 
> java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
>                     at java.util.ArrayList$Itr.next(ArrayList.java:859)
>                     at 
> org.apache.activemq.artemis.core.server.impl.RefsOperation.afterCommit(RefsOperation.java:179)
>                     at 
> org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.afterCommit(TransactionImpl.java:579)
>                     at 
> org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.access$100(TransactionImpl.java:40)
>                     at 
> org.apache.activemq.artemis.core.transaction.impl.TransactionImpl$2.done(TransactionImpl.java:322)
>                     at 
> org.apache.activemq.artemis.core.persistence.impl.journal.OperationContextImpl.executeOnCompletion(OperationContextImpl.java:190)
>                     at 
> org.apache.activemq.artemis.core.persistence.impl.journal.OperationContextImpl.executeOnCompletion(OperationContextImpl.java:128)
>                     at 
> org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.afterCompleteOperations(AbstractJournalStorageManager.java:321)
>                     at 
> org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.commit(TransactionImpl.java:313)
>                     at 
> org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.commit(TransactionImpl.java:264)
>                     at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.commit(ServerSessionImpl.java:1284)
>                     at 
> org.apache.activemq.artemis.core.protocol.stomp.StompSession$1.run(StompSession.java:164)
>                     at 
> org.apache.activemq.artemis.core.protocol.stomp.StompSession.afterDelivery(StompSession.java:116)
>                     at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:511)
>                     at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:3744)
>                     at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:3048)
>                     at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2400(QueueImpl.java:125)
>                     at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:4119)
>                     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.executePendingTasks(ProcessorBase.java:65)
>                     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>                     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>                     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> {noformat}
> Artemis (2.16.0) is deployed in Wildfly (24.0.1.Final)
> Clients are connected to stomp acceptor:
> {code:xml}
> <acceptor name="stomp-over-ws" 
> factory-class="org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptorFactory">
>    <param name="host" value="0.0.0.0" />
>    <param name="protocols" value="STOMP" />
>    <param name="port" value="61614" />
> </acceptor>
> {code}
> Bug is random but is reproduced quite often with a full scenario we have (on 
> one topic or another) so we are able to reproduce it and add logs if 
> necessary.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to