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 Thu, 11 May 2017 10:45:04 GMT

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

ASF subversion and git services commented on QPIDJMS-292:
---------------------------------------------------------

Commit b0b554d752f1f0320d73c7645ec89bb51677e5e6 in qpid-jms's branch refs/heads/master from
Robert Gemmell
[ https://git-wip-us.apache.org/repos/asf?p=qpid-jms.git;h=b0b554d ]

QPIDJMS-292: ensure credit handling accounts for buffered messages correctly to prevent prefetching
more than the expected number of messages


> 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
>            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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message