You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Justin Bertram (Jira)" <ji...@apache.org> on 2025/04/04 20:39:00 UTC
[jira] [Comment Edited] (ARTEMIS-5383) Performance issues with HierarchalObjectRepository#unRegisterListener
[ https://issues.apache.org/jira/browse/ARTEMIS-5383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17941074#comment-17941074 ]
Justin Bertram edited comment on ARTEMIS-5383 at 4/4/25 8:38 PM:
-----------------------------------------------------------------
I think if we just swapped {{ArrayList}} with {{LinkedList}} that would improve the situation substantially.
was (Author: jbertram):
I think if we just swapped the {{ArrayList}} with a {{LinkedList}} that would improve the situation substantially.
> Performance issues with HierarchalObjectRepository#unRegisterListener
> ---------------------------------------------------------------------
>
> Key: ARTEMIS-5383
> URL: https://issues.apache.org/jira/browse/ARTEMIS-5383
> Project: ActiveMQ Artemis
> Issue Type: Task
> Affects Versions: 2.37.0
> Reporter: Josh Byster
> Priority: Major
> Attachments: Screenshot 2025-04-04 at 1.57.32 PM.png
>
>
> On brokers with many queues, we find that upon disconnects of many components simultaneously, the broker immediately begins to slow. My suspicion is due to the queue auto-deletion behavior, where we do an ArrayList#remove(Object) in HierarchalObjectRepository#unRegisterListener which I believe is linear at least in the number of queues. With over a million queues, this becomes incredibly slow. Perhaps we can optimize the find of these listeners (maybe a map with an ID)?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@activemq.apache.org
For additional commands, e-mail: issues-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact