[ 
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
(v6.3.15#6346)

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

Reply via email to