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/07/10 16:03:00 UTC

[jira] [Closed] (ARTEMIS-5036) Performance regression with Micrometer

     [ https://issues.apache.org/jira/browse/ARTEMIS-5036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Bertram closed ARTEMIS-5036.
-----------------------------------

> Performance regression with Micrometer 
> ---------------------------------------
>
>                 Key: ARTEMIS-5036
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5036
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.36.0
>            Reporter: Josh Byster
>            Priority: Major
>             Fix For: 2.40.0
>
>
> With the bump to Micrometer v1.13.2, I pinpointed a clear performance regression where the broker completely spiraled on temp queue deletion: https://github.com/micrometer-metrics/micrometer/issues/5466
> Moreover, this looping happens in a synchronized block in PostOffice, which completely stops other critical tasks.
> {noformat}
> java.base/java.lang.Thread.getStackTrace(Thread.java:1602)
> io.micrometer.core.instrument.Tags.equals(Tags.java:177)
> java.base/java.util.Objects.equals(Objects.java:77)
> io.micrometer.core.instrument.Meter$Id.equals(Meter.java:359)
> io.micrometer.core.instrument.util.MeterEquivalence.equals(MeterEquivalence.java:39)
> io.micrometer.core.instrument.AbstractMeter.equals(AbstractMeter.java:43)
> io.micrometer.core.instrument.MeterRegistry.remove(MeterRegistry.java:762)
> io.micrometer.core.instrument.MeterRegistry.remove(MeterRegistry.java:723)
> org.apache.activemq.artemis.core.server.metrics.MetricsManager.remove(MetricsManager.java:183)
> org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl.unregisterMeters(ManagementServiceImpl.java:353)
> org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl.unregisterAddress(ManagementServiceImpl.java:293)
> org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.removeAddressInfo(PostOfficeImpl.java:896)
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.removeAddressInfo(ActiveMQServerImpl.java:3981)
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.removeAddressInfo(ActiveMQServerImpl.java:3955)
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:2514)
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:2452)
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.run(ServerSessionImpl.java:1160)
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.connectionFailed(ServerSessionImpl.java:1174)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.callFailureListeners(OpenWireConnection.java:509)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:735)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:480)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processRemoveConnection(OpenWireConnection.java:1825)
> org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:73)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:366)
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)]{noformat}



--
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