Good Day,

After reading through the ThreadDump (I am hoping I read the dump correctly), I 
saw the following regarding (PurgeInactiveDestination)

SchedulerTimerTask calls BrokerService that calls purgeInactiveDestinations, 
but a lock is already acquired by addConsumer method (causing indefinite 
block). Can this be what is causing the broker to periodically hang for over 
twenty minutes. Why would the purge take so long (for 10 minutes all the 
SchedulerTimerTask threads were blocked

    protected void purgeInactiveDestinations() {
        inactiveDestinationsPurgeLock.writeLock().lock();

     public Subscription addConsumer(ConnectionContext context, ConsumerInfo 
info) throws Exception {
        ActiveMQDestination destination = info.getDestination();
        if (destinationInterceptor != null) {
            destinationInterceptor.create(this, context, destination);
        }
        inactiveDestinationsPurgeLock.readLock().lock();

BLOCKED THREAD
"ActiveMQ Broker[localhost] Scheduler" daemon prio=10 tid=0x00002b3c780d6800 
nid=0x1403 waiting for monitor entry [0x00002b3c7cce8000]      
java.lang.Thread.State: BLOCKED (on object monitor)      at 
org.apache.activemq.broker.region.RegionBroker.purgeInactiveDestinations(RegionBroker.java:920)
      - waiting to lock <0x00000007603866f8> (a 
org.apache.activemq.broker.region.RegionBroker$1)      at 
org.apache.activemq.broker.region.RegionBroker$1.run(RegionBroker.java:110)     
 at 
org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)   
   at java.util.TimerThread.mainLoop(Timer.java:512)      at 
java.util.TimerThread.run(Timer.java:462)


THE CULPRIT
at 
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:447)
     
- locked <0x00000007603866f8> (a 
org.apache.activemq.broker.region.RegionBroker$1)      at 
org.apache.activemq.broker.jmx.ManagedRegionBroker.addConsumer(ManagedRegionBroker.java:240)


To read FirstRand Bank's Disclaimer for this email click on the following 
address or copy into your Internet browser: 
https://www.fnb.co.za/disclaimer.html 

If you are unable to access the Disclaimer, send a blank e-mail to
firstrandbankdisclai...@fnb.co.za and we will send you a copy of the Disclaimer.

Reply via email to