Thank You Herbert
Von: "Justin Bertram" <[email protected]> An: [email protected] Datum: 28.10.2025 15:37 Betreff: [Ext] Re: Antwort: Re: Re: WebConsole on broker with many queues FYI - I've sent a PR for ARTEMIS-5427 [1] which should make a significant difference for high-load web console use-cases. Justin [1] https://issues.apache.org/jira/browse/ARTEMIS-5427 On Tue, Oct 14, 2025 at 10:37?AM Justin Bertram <[email protected]> wrote: > +1 to GitHub. > > To be clear, an out-of-band upload is much preferred to attachments. > There's no need to distribute copies of an attached reproducer to over > 1,000 individual inboxes. > > > Justin > > On Tue, Oct 14, 2025 at 9:15?AM Timothy Bish <[email protected]> wrote: > >> On 10/14/25 02:55, [email protected] wrote: >> > Hello Justin, >> > >> > I had attached the Program to the previous email, but it was stripped >> > when it got posted. >> > What would be the right place to put it? >> >> One easy way to share is to create a public Github repository with your >> reproducer and share the link here. >> >> >> > >> > >> > Regards >> > >> > Herbert >> > >> > ------------------------------------------------------------------------ >> > >> > *Herbert Helmstreit* >> > Senior Software Engineer >> > >> > Phone: +49 941 / 7 83 92 36 >> > [email protected] >> > >> > www.systema.com <https://www.systema.com/> >> > >> > LinkedIn <https://www.linkedin.com/company/systema-gmbh/>Facebook >> > <https://de-de.facebook.com/SYSTEMA.automation/>XING >> > <https://www.xing.com/pages/systemagmbh> >> > >> > SYSTEMA >> > Systementwicklung Dipl.-Inf. Manfred Austen GmbH >> > >> > Manfred-von-Ardenne-Ring 6 | 01099 Dresden >> > HRB 11256 Amtsgericht Dresden | USt.-ID DE 159 607 786 >> > Geschäftsführer: Manfred Austen, Enno Danke, Dr. Ulf Martin, Jürg >> Matweber >> > >> > P Please check whether a printout of this e-mail is really necessary. >> > >> > >> > >> > >> > >> > Von: "Justin Bertram" <[email protected]> >> > An: [email protected] >> > Datum: 13.10.2025 20:47 >> > Betreff: [Ext] Re: Re: WebConsole on broker with many queues >> > ------------------------------------------------------------------------ >> > >> > >> > >> > I just set up a quick proof-of-concept using a new, default instance >> > of 2.42.0 with 18,000 multicast addresses with no queues defined in >> > broker.xml. I set up a producer and consumer to run constantly in the >> > background sending and receiving messages as fast as possible, and >> > then I opened the web console and browsed through the addresses. >> > Memory spiked up to 800MB when I first logged in to the web console, >> > but everything seemed to work fine. There was no significant >> > lag/slow-down. >> > >> > Could you perhaps upload your MultiQueue.java somewhere so I could >> > reproduce what you're seeing? Clearly my proof-of-concept didn't cover >> > your specific use-case. >> > >> > >> > Justin >> > >> > On Mon, Oct 13, 2025 at 9:04?AM <[email protected]_ >> > <mailto:[email protected]>> wrote: >> > Hello Gašper, >> > >> > 1000 queues are not enough to hit the session TTL. >> > It has been reported, that Webconsole does not open, if the number of >> > objects (Queues, Topics) is too big. >> > Customer had 18000 Adress objects and opening WebConsole made all >> > Clients to connect to another broker in the cluster. >> > >> > The program MultiQueue.java creates a given number of _queues.to_ >> > <http://queues.to/>simulate it. >> > >> > >> > Start it with 3 args >> > 0: connectionurl >> > 1: Prefix e.g. MultiQ >> > 2: 18000 >> > It will connect to connectionurl and try to create MultiQ_0 ... >> > MultiQ_17999 >> > When MultiQ_16000 or so is created, try and open WebConsole: >> > After login it is completetly knocked-out and seems to bring the >> > broker to the limit. >> > After some time the test program terminates: >> > >> > serving on:ActiveMQQueue[MultiQ_16111] >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c Sending blocking >> > SessionQueueQueryMessage[type=45, channelID=11, responseAsync=false, >> > requiresResponse=false, correlationID=-1, queueName=MultiQ_*16112*] >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c handling packet >> > SessionQueueQueryResponseMessage_V3[type=-14, channelID=11, >> > responseAsync=false, requiresResponse=false, correlationID=-1, >> > address=MultiQ_16112, name=MultiQ_16112, consumerCount=0, >> > filterString=null, durable=true, exists=false, temporary=false, >> > messageCount=0, autoCreationEnabled=true, autoCreated=false, >> > purgeOnNoConsumers=false, routingType=MULTICAST, maxConsumers=-1, >> > exclusive=false, groupRebalance=false, >> > groupRebalancePauseDispatch=false, groupBuckets=-1, >> > groupFirstKey=null, lastValue=false, lastValueKey=null, >> > nonDestructive=false, consumersBeforeDispatch=0, >> > delayBeforeDispatch=-1, autoDelete=false, autoDeleteDelay=0, >> > autoDeleteMessageCount=0, defaultConsumerWindowSize=1048576, >> > ringSize=-1, enabled=null, configurationManaged=false] >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c Sending blocking >> > SessionBindingQueryMessage[type=49, channelID=11, responseAsync=false, >> > requiresResponse=false, correlationID=-1, address=MultiQ_16112]] >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c handling packet >> > SessionBindingQueryResponseMessage_V5[type=-22, channelID=11, >> > responseAsync=false, requiresResponse=false, correlationID=-1, >> > exists=false, queueNames=[], autoCreateQueues=true, >> > autoCreateAddresses=true, defaultPurgeOnNoConsumers=false, >> > defaultMaxConsumers=-1, defaultExclusive=false, >> > defaultLastValue=false, defaultLastValueKey=null, >> > defaultNonDestructive=false, defaultConsumersBeforeDispatch=0, >> > defaultDelayBeforeDispatch=-1, supportsMulticast=false, >> > supportsAnycast=false] >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c Sending blocking >> > CreateQueueMessage_V2[type=-12, channelID=11, responseAsync=false, >> > requiresResponse=true, correlationID=-1, address=MultiQ_16112, >> > queueName=MultiQ_16112, filterString=null, durable=true, >> > temporary=false, autoCreated=true, routingType=ANYCAST, >> > maxConsumers=-1, purgeOnNoConsumers=false, exclusive=null, >> > groupRebalance=null, groupRebalancePauseDispatch=null, >> > groupBuckets=null, groupFirstKey=null, lastValue=null, >> > lastValueKey=null, nonDestructive=null, consumersBeforeDispatch=null, >> > delayBeforeDispatch=null, autoDelete=null, autoDeleteDelay=null, >> > autoDeleteMessageCount=null, ringSize=null, enabled=null] >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c Sending packet >> > nonblocking Ping[type=10, channelID=0, responseAsync=false, >> > requiresResponse=false, correlationID=-1, connectionTTL=60000] on >> > channelID=0 >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c Writing buffer for >> > channelID=0 >> > 256 ||| slf4j ||| RemotingConnectionID=5b5b386c handling packet >> > Ping[type=10, channelID=0, responseAsync=false, >> > requiresResponse=false, correlationID=-1, connectionTTL=60000] >> > Exception in thread "main" javax.jms.JMSException: AMQ219014: Timed >> > out after waiting 30000 ms for response when sending packet -12 >> > at >> > >> org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:570) >> > at >> > >> org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:464) >> > at >> > >> org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:456) >> > at >> > >> org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.createQueue(ActiveMQSessionContext.java:856) >> > at >> > >> org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.internalCreateQueue(ClientSessionImpl.java:1953) >> > at >> > >> org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.createQueue(ClientSessionImpl.java:326) >> > at >> > >> org.apache.activemq.artemis.utils.AutoCreateUtil.autoCreateQueue(AutoCreateUtil.java:57) >> > at >> > >> org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:917) >> > at >> > >> org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:563) >> > at >> > >> org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:529) >> > at MultiQueue.subscribeToQ(MultiQueue.java:132) >> > at MultiQueue.main(MultiQueue.java:158) >> > Caused by: >> > >> org.apache.activemq.artemis.api.core.ActiveMQConnectionTimedOutException:[errorType=CONNECTION_TIMEDOUT >> >> > message=AMQ219014: Timed out after waiting 30000 ms for response when >> > sending packet -12] >> > ... 12 more >> > >> > The number *16112* we reached is depending from a lot of things like >> > timing of the WebConsole opening. >> > As said before the OOM was probably a side effect caused by something >> > else. >> > The broker has 4G of memory and runs just fine in other cases. >> > Is there a nightly build of the broker, I would be curious to test it. >> > >> > Best Regards >> > >> > Herbert >> > >> > ------------------------------------------------------------------------ >> > >> > *Herbert Helmstreit* >> > Senior Software Engineer >> > Phone: +49 941 / 7 83 92 36* >> > **[email protected]* <mailto: >> [email protected]> >> > >> > *www.systema.com* <https://www.systema.com/> >> > >> > SYSTEMA >> > Systementwicklung Dipl.-Inf. Manfred Austen GmbH >> > Manfred-von-Ardenne-Ring 6 | 01099 Dresden >> > HRB 11256 Amtsgericht Dresden | USt.-ID DE 159 607 786 >> > Geschäftsführer: Manfred Austen, Enno Danke, Dr. Ulf Martin, Jürg >> > Matweber >> > PPlease check whether a printout of this e-mail is really necessary. >> > >> > >> > >> > >> > Von: "Gašper Čefarin" <[email protected]_ >> > <mailto:[email protected]>> >> > An: "[email protected]_ <mailto:[email protected]>" >> > <[email protected]_ <mailto:[email protected]>> >> > Datum: 09.10.2025 14:19 >> > Betreff: [Ext] Re: WebConsole on broker with many queues >> > ------------------------------------------------------------------------ >> > >> > I cannot reproduce the issue with 1000 queues but no >> > messages/consumers/producers. >> > >> > There was a big load produced on the broker when the web console was >> > gathering into for permissions for every queue - this (and slow >> > rendering of many queues) is now fixed in the current version - which >> > is not yet released. >> > I'm not sure it could cause OOM though. >> > >> > Answers to the questions asked by Justin would help to pinpoint the >> > issue a lot. >> > I would also ask how many consumers/producers there were online. >> > >> > >> > >> > >> > ------------------------------------------------------------------------ >> > * >> > From:* Alexander Milovidov <[email protected]_ >> > <mailto:[email protected]>>* >> > Sent:* 08 October 2025 21:23:23* >> > To:* [email protected]_ <mailto:[email protected]>* >> > Subject:* Re: WebConsole on broker with many queues >> > >> > >> > To sporočilo izvira izven naše organizacije. Bodite pozorni pri >> > vsebini in odpiranju povezav ali prilog. >> > >> > >> > >> > >> > I also had a similar issue with performance of Artemis 2.40.0 web >> console >> > with about 3000 addresses/queues, but had not much time to investigate >> the >> > issue, gather thread dumps, create a reproducer etc. >> > And we still did not try to migrate any of Artemis instances to 2.40+ >> > (even >> > smaller ones). >> > >> > ??, 6 ???. 2025??. ? 17:00, <[email protected]_ >> > <mailto:[email protected]>>: >> > >> > > Hello Team, >> > > >> > > on an Artemis broker 2.42 with some thousands of queues and topics >> > we can >> > > reproduce the >> > > following case: >> > > open a WebConsole. >> > > >> > > - broker blocked, browser frozen >> > > - 100% CPU for broker process >> > > - This situation lasts longer as the client session keep alive >> period >> > > (30 sec). Therefore clients terminate the connections. >> > > - additional tasks cleaning up all objects. >> > > >> > > We had a single case, where the broker completely crashed with OOM >> > in such >> > > a situation. >> > > But in most cases the broker survives with all clients gone to another >> > > broker by desaster failover. >> > > Should we avoid WebConsole at all or is there a switch to keep this >> load >> > > out of the broker? >> > > >> > > Best Regards >> > > >> > > Herbert >> > > ------------------------------ >> > > >> > > *Herbert Helmstreit* >> > > Senior Software Engineer >> > > >> > > Phone: +49 941 / 7 83 92 36 >> > > [email protected]_ <mailto: >> [email protected]> >> > > >> > > _www.systema.com_ <http://www.systema.com/> >> > > >> > > [image: LinkedIn] <_https://www.linkedin.com/company/systema-gmbh/_ >> > <https://www.linkedin.com/company/systema-gmbh/>>[image: >> > > Facebook] <_https://de-de.facebook.com/SYSTEMA.automation/_ >> > <https://de-de.facebook.com/SYSTEMA.automation/>>[image: XING] >> > > <_https://www.xing.com/pages/systemagmbh_ >> > <https://www.xing.com/pages/systemagmbh>> >> > > >> > > SYSTEMA >> > > Systementwicklung Dipl.-Inf. Manfred Austen GmbH >> > > >> > > Manfred-von-Ardenne-Ring 6 | 01099 Dresden >> > > HRB 11256 Amtsgericht Dresden | USt.-ID DE 159 607 786 >> > > Geschäftsführer: Manfred Austen, Enno Danke, Dr. Ulf Martin, Jürg >> > Matweber >> > > >> > > P Please check whether a printout of this e-mail is really necessary. >> > > >> > > >> > >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [email protected]_ >> > <mailto:[email protected]> >> > For additional commands, e-mail: [email protected]_ >> > <mailto:[email protected]> >> > For further information, visit: _https://activemq.apache.org/contact_ >> > <https://activemq.apache.org/contact> >> > >> > >> >> -- >> Tim Bish >> >
