[Java Broker] Using multiple consumers on a large (e.g. 1million entries+) 
queue may become excessively slow
------------------------------------------------------------------------------------------------------------

                 Key: QPID-3780
                 URL: https://issues.apache.org/jira/browse/QPID-3780
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.14
            Reporter: Rob Godfrey
            Assignee: Rob Godfrey
             Fix For: 0.15


If there are multiple consumers on a queue, a certain percentage of 
acknowledgements will not be at the head of the queue because consumers will 
not act in lock step.  Every time a message not at the head of the queue is 
consumed we increment the scavenge count to indicate that we should scan the 
queue for deleted entries and remove them.  If the queue is very large then 
this will take a long time.  Clearing down a very large queue with multiple 
consumers will thus become very expensive.

We can reduce the cost of scavenging by keeping a record of the high watermark 
of deleted entries that weren't at the head of the queue, and only scavenging 
the queue to a point beyond the high watermark

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to