[
https://issues.apache.org/jira/browse/QPIDJMS-292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robbie Gemmell resolved QPIDJMS-292.
------------------------------------
Resolution: Fixed
> consumers may buffer vastly more messages than expected for their 'prefetch'
> value
> ----------------------------------------------------------------------------------
>
> Key: QPIDJMS-292
> URL: https://issues.apache.org/jira/browse/QPIDJMS-292
> Project: Qpid JMS
> Issue Type: Bug
> Components: qpid-jms-client
> Affects Versions: 0.22.0
> Reporter: Robbie Gemmell
> Assignee: Robbie Gemmell
> Fix For: 0.23.0
>
>
> Consumers may buffer vastly more messages than expected for their 'prefetch'
> value.
> The consumer link credit handling is toggled via the 'prefetch' settings,
> which aims to limit the number of messages locally buffered for the consumer,
> protecting the consumer and enabling the server to better distribute between
> multiple consumers as and when appropriate, particularly ones that arrive
> later than others.
> The link credit handling however has not been correctly accounting for
> already buffered but not yet consumed messages, but rather only the credit
> itself at the point of inspection. As a result, if the credit is sufficiently
> (>=70%) utilised between processing of messages, more link credit is granted
> to top up to the 'prefetch' value, This potentially allows it to buffer more
> than <prefetch> messages, and also grant more credit even after it has
> already done so. If there is a signficant backlog of messages available and
> the broker can feed them to the client quickly enough, and consumption does
> not similarly keep up, this can repeat to the extent of buffering as many
> messages as are available.
> The only obvious workarounds would be reducing the prefetch to 0 or 1.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]