[
https://issues.apache.org/jira/browse/ARTEMIS-2057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16594132#comment-16594132
]
ASF GitHub Bot commented on ARTEMIS-2057:
-----------------------------------------
GitHub user tabish121 opened a pull request:
https://github.com/apache/activemq-artemis/pull/2272
ARTEMIS-2057 Fix runaway credit grants
Ensure the broker looks at local receiver credit when checking for
credit top off threshold and then do a proper top off back to the high
water mark to sync with how client receivers manage their credit.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tabish121/activemq-artemis ARTEMIS-2057
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/2272.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2272
----
commit 480e41c41d8c869014d5fe799a13914e659adf17
Author: Timothy Bish <tabish121@...>
Date: 2018-08-27T19:19:23Z
ARTEMIS-2057 Fix runaway credit grants
Ensure the broker looks at local receiver credit when checking for
credit top off threshold and then do a proper top off back to the high
water mark to sync with how client receivers manage their credit.
----
> AMQP: Credit window can grow beyond max credit configuration
> ------------------------------------------------------------
>
> Key: ARTEMIS-2057
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2057
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: AMQP
> Affects Versions: 2.6.2
> Reporter: Timothy Bish
> Assignee: Timothy Bish
> Priority: Blocker
> Fix For: 2.6.3
>
>
> The broker currently grants credit based on the 'amqpCredit' configuration
> which default to 1000 using a check on the "remote credit" view which
> includes messages currently queued into proton but not processed by the
> protocol head yet. This accounting can lead to a runaway credit situation if
> the sender is particularly fast or a significant number of small messages are
> batched into one TCP frame and the broker isn't able to clear the backlog
> from the proton queue fast enough such that the queue grows to the point that
> the granting algorithm starts granting "amqpCredit" number of credits on each
> new messages it processes from proton.
> Another smaller issue is that the granting of credit allows for a client to
> have an outstanding balance of more than the configured "amqpCredits" which
> may not be what was originally intended by that option and doesn't match what
> many of the clients do when topping off credit at a low water mark.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)