qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPIDJMS-292) consumers may buffer vastly more messages than expected for their 'prefetch' value
Date Mon, 15 May 2017 10:53:04 GMT

    [ https://issues.apache.org/jira/browse/QPIDJMS-292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16010315#comment-16010315

ASF subversion and git services commented on QPIDJMS-292:

Commit a5b0f7761fb82730f119c769be371ecc1a384e59 in qpid-broker-j's branch refs/heads/master
from [~lorenz.quack]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=a5b0f77 ]

NO-JIRA: make test pass with Qpid JMS 0.23

Qpid JMS 0.23 changed its prefetch behaviour (QPIDJMS-292).
The test remains flaky because it is up to the client to decide when to issue more credit.

> 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

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message