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

ASF subversion and git services commented on QPID-4287:
-------------------------------------------------------

Commit 1535803 from [~aconway] in branch 'qpid/trunk'
[ https://svn.apache.org/r1535803 ]

QPID-4287: Poor performance when a priority queue with a ring queue policy has 
a large backlog

LossyQueue::checkDepth was performing an unintended linear search of its
messages when a new message was added at capacity.  Since the messages are in
priority order, only the tail message on the queue needs to be compared with the
new message to determine which of them should be dropped.

> Poor performance when a priority queue with a ring queue policy has a large 
> backlog
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-4287
>                 URL: https://issues.apache.org/jira/browse/QPID-4287
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.18
>            Reporter: Jason Dillaman
>            Assignee: Alan Conway
>         Attachments: qpid-4287.patch
>
>
> The ring queue policy utilizes a single deque to store messages in priority 
> and FIFO order.  When inserting messages of mixed priority into a queue with 
> a large (>100,000) message backlog, the performance degrades quickly enough 
> to potentially block all broker worker threads if they all are publishing to 
> the same queue.  Recommend separating the ring queue data structure into 
> separate deques based upon message priority in order to avoid the potential 
> for reshuffling the deque with each incoming message.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to