[
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