[ https://issues.apache.org/jira/browse/ARTEMIS-4814?focusedWorklogId=923941&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-923941 ]
ASF GitHub Bot logged work on ARTEMIS-4814: ------------------------------------------- Author: ASF GitHub Bot Created on: 18/Jun/24 17:19 Start Date: 18/Jun/24 17:19 Worklog Time Spent: 10m Work Description: clebertsuconic commented on code in PR #4972: URL: https://github.com/apache/activemq-artemis/pull/4972#discussion_r1644813299 ########## artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/SimpleAddressManager.java: ########## @@ -100,6 +104,11 @@ public boolean addBinding(final Binding binding) throws Exception { if (nameMap.putIfAbsent(binding.getUniqueName(), bindingAddressPair) != null) { throw ActiveMQMessageBundle.BUNDLE.bindingAlreadyExists(binding); } + directBindingMap.compute(binding.getAddress(), (key, value) -> { + Collection<Binding> bindingList = value == null ? new ArrayList<>() : value; + bindingList.add(binding); Review Comment: say you call this from different threads... perhaps we should add a test having mulitple threads on this call here, and make sure the outcome is as expected. Issue Time Tracking ------------------- Worklog Id: (was: 923941) Time Spent: 3h (was: 2h 50m) > Remove linear iteration to get direct bindings > ---------------------------------------------- > > Key: ARTEMIS-4814 > URL: https://issues.apache.org/jira/browse/ARTEMIS-4814 > Project: ActiveMQ Artemis > Issue Type: Task > Components: Broker > Reporter: Josh Byster > Priority: Minor > Time Spent: 3h > Remaining Estimate: 0h > > Currently, with 500K+ queues, the cleanup step of {{TempQueueCleanerUpper}} > requires invoking {{WildcardAddressManager#getDirectBindings}}, which is O(k) > in the number of queues. > From method profiling, this can consume up to 95% of our CPU time when > needing to clean up many of these. > It would be nice to make this more efficient, which shouldn't be difficult > given the iteration just does a simple equality check. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org For additional commands, e-mail: issues-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact