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

ASF subversion and git services commented on ARTEMIS-4786:
----------------------------------------------------------

Commit 032597dba3bf8450900a03dc45643bb80d9e0757 in activemq-artemis's branch 
refs/heads/main from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=032597dba3 ]

ARTEMIS-4786 Avoid ConcurrentModificationException while queue.destroy in page

We observed this assert error in the netty collection used for acks:

java.lang.AssertionError: null is not a legitimate internal value. Concurrent 
Modification?
at 
io.netty.util.collection.IntObjectHashMap.toExternal(IntObjectHashMap.java:103) 
~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at 
io.netty.util.collection.IntObjectHashMap.access$900(IntObjectHashMap.java:37) 
~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at 
io.netty.util.collection.IntObjectHashMap$PrimitiveIterator.value(IntObjectHashMap.java:650)
 ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at 
io.netty.util.collection.IntObjectHashMap$2$1.next(IntObjectHashMap.java:234) 
~[netty-common-4.1.109.Final.jar:4.1.109.Final]

this will avoid the cleanup and rely on GC for the cleanup.

PagingLeakTest is being added to make sure the cleanup is actually not needed.


> ConcurrentModificationException on Page.destroy
> -----------------------------------------------
>
>                 Key: ARTEMIS-4786
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4786
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Clebert Suconic
>            Priority: Major
>
> I observed this while running 
> org.apache.activemq.artemis.tests.integration.client.ConcurrentCreateDeleteProduceTest.testConcurrentProduceCreateAndDelete
>  in loop:
> java.lang.AssertionError: null is not a legitimate internal value. Concurrent 
> Modification?
>       at 
> io.netty.util.collection.IntObjectHashMap.toExternal(IntObjectHashMap.java:103)
>  ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
>       at 
> io.netty.util.collection.IntObjectHashMap.access$900(IntObjectHashMap.java:37)
>  ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
>       at 
> io.netty.util.collection.IntObjectHashMap$PrimitiveIterator.value(IntObjectHashMap.java:650)
>  ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
>       at 
> io.netty.util.collection.IntObjectHashMap$2$1.next(IntObjectHashMap.java:234) 
> ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
>       at 
> org.apache.activemq.artemis.core.paging.cursor.impl.PageSubscriptionImpl.destroy(PageSubscriptionImpl.java:642)
>  ~[classes/:?]
>       at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.destroyPaging(QueueImpl.java:2382)
>  ~[classes/:?]
>       at 
> org.apache.activemq.artemis.core.server.impl.QueueImpl.deleteQueue(QueueImpl.java:2441)
>  ~[classes/:?]
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:2512)
>  ~[classes/:?]
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:2461)
>  ~[classes/:?]
>       at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.deleteQueue(ServerSessionImpl.java:1212)
>  ~[classes/:?]
>       at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.deleteQueue(ServerSessionImpl.java:1196)
>  ~[classes/:?]
>       at 
> org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.slowPacketHandler(ServerSessionPacketHandler.java:436)
>  ~[classes/:?]
> On the occasion I had a fix for ARTEMIS-4165 in place, but the issue seems 
> orthogonal to me.
> The cleanup methods are clearing the Netty collection out of abundance of 
> caution (to help out GC). The fix here is just to stop doing that.
> As part of this fix I'm also adding a check-leak test to make sure such 
> objects are not leaking.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to