If all consumers of a queue use selectors then the broker will leak memory
--------------------------------------------------------------------------

                 Key: QPID-623
                 URL: https://issues.apache.org/jira/browse/QPID-623
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: M2
            Reporter: Martin Ritchie
            Assignee: Martin Ritchie
             Fix For: M2


Because the main _messages queue still has a reference to the msgs incase a non 
selector consumer joins the AMQMessage object cannot be collected by GC. There 
is a log statement saying queue needs cleaning up. 

A simple soution which will not necessarily solve the problem 100% is to purge 
the main queue from the head stopping when a non taken msgs is reached. Easy 
change to make but does allow taken msgs to back up behind. Problem is to 
process/purge those msgs will be harder as more locking will be required. This 
is somthing the reaper thread can do when implemented for full TTL (QPID-499).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to