[ 
https://issues.apache.org/jira/browse/AMQ-5222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14028101#comment-14028101
 ] 

Anand Verma commented on AMQ-5222:
----------------------------------

Modifying BaseDestination->canGC() for additional Condition ! isActive() seems 
to work to my expectation but not sure if this should be the fix based on just  
semantic of code.
public boolean canGC() {
        boolean result = false;
        if (isGcIfInactive()&& this.lastActiveTime != 0l && ! isActive()) {
            if ((System.currentTimeMillis() - this.lastActiveTime) >= 
getInactiveTimoutBeforeGC()) {
                result = true;
            }
        }
        return result;
    }


> Issue with Purge Inactive Destination feature
> ---------------------------------------------
>
>                 Key: AMQ-5222
>                 URL: https://issues.apache.org/jira/browse/AMQ-5222
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.9.1
>         Environment: Windows 7. JDK1.6
>            Reporter: Anand Verma
>
> I enabled deletion of Inactive Queue for POC every 10 seconds
> <policyEntry queue=">" producerFlowControl="true" memoryLimit="20mb"   
> gcInactiveDestinations="true" inactiveTimoutBeforeGC="10000">.
> Now I start a Consumer Listener process..The Queue is created and then it is 
> deleted though Consumer is still running and Active..I would expect this to 
> should not be deleted as it still has active Queue
> Looking @ code BaseDestination->markForGC(long timeStamp) & 
> BaseDestination->canGC() seems to be suspect based on usage from 
> RegionBroker->purgeInactiveDestinations



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to