activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tlholoe, Peter" <PTlho...@fnb.co.za>
Subject Can PurgeInactiveDestination cause ActiveMQ to periodically hang
Date Thu, 30 May 2013 15:29:40 GMT
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
firstrandbankdisclaimer@fnb.co.za and we will send you a copy of the Disclaimer.

Mime
View raw message