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

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

Commit 1677842 from [email protected] in branch 'java/trunk'
[ https://svn.apache.org/r1677842 ]

QPID-6528: Always get next available queue entry for the subscription first 
even if it is suspended in order to update _lastSeen entry and prevent holding 
a reference to an old deleted queue entry

> Multiple starving suspended consumers on a single session might hold the 
> reference to old deleted queue entry via QueueContext#_lastSeenEntry causing 
> accumulation of deleted queue entries in Broker memory which can eventually 
> lead to OOM
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-6528
>                 URL: https://issues.apache.org/jira/browse/QPID-6528
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>    Affects Versions: 0.22, 0.24, 0.26, 0.28, 0.30, 0.32
>            Reporter: Alex Rudyy
>         Attachments: 
> 0001-QPID-6528-Always-get-next-available-queue-entry-for-.patch
>
>
> Broker might run into OOM due to holding a reference to an old deleted 
> QueueEntry in QueueContext#_lastSeenEntry. The issue can occur with multiple 
> consumers on a single session with a relatively ow prefetch. 
> When session prefetch buffer becomes full, the flow is suspended, and 
> subscription states are set to SUSPENDED. The delivery methods on 
> AbstractQueue check whether subscription is not suspended(attempDelivery, 
> consumerReadyAndJasInterest, processQueue, flushConsumer) before performing 
> any delivery activity including _lastSeen update. Thus, message delivery does 
> not happen for suspended subscriptions and _lastSeen field in Subscription 
> context is not updated. Having many starving consumers on single session 
> might cause accumulation of deleted queue entries and OOM



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

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

Reply via email to