You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Kevin Burton (JIRA)" <ji...@apache.org> on 2015/02/02 00:53:34 UTC

[jira] [Created] (AMQ-5557) GC of inactive queues should happen even if consumers > 0

Kevin Burton created AMQ-5557:
---------------------------------

             Summary: GC of inactive queues should happen even if consumers > 0 
                 Key: AMQ-5557
                 URL: https://issues.apache.org/jira/browse/AMQ-5557
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.10.1
            Reporter: Kevin Burton


In my app we use lots of ephemeral queues which are active for a while, and then become inactive.

Queue GC is very important for us.

Right now , there is no safe way to use queue GC in this scenario if any future messages could come into the queue.  Even if there's a low probability of this happening.

Ideally the way this would work is if the queue is empty, and nothing is written to it for the inactiveTimoutBeforeGC interval than it is GCd... regardless of the number of consumers and producers.

If producers/consumers WANT to disconnect, they can listen to advisory messages that the queue has been GCd and then disconnect when the advisory message says that the queue has been destroyed.

Trying to emulate this by disconnecting yields tons of potential race bugs.

For example, if you have a 60 second window, and you have no messages written, so you close your consumer, it's totally possible that 1 message comes in 1ms after you disconnect.

You would have no way of knowing this.  This message would stay there, not consumed , forever.






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)