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

ASF subversion and git services commented on ARTEMIS-2757:
----------------------------------------------------------

Commit 9ff3c17525b39410a934073a30548e3aa1b1cddc in activemq-artemis's branch 
refs/heads/master from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=9ff3c17 ]

ARTEMIS-2757 improving flow control in AMQP


> AMQP: Broker grants credit before accepting the inbound messages that caused 
> it to grant credit
> -----------------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2757
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2757
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 2.12.0
>         Environment: AMQP Client sending unsettled messages asynchronously
>            Reporter: Timothy A. Bish
>            Priority: Critical
>             Fix For: 2.13.0
>
>         Attachments: async-sender-output.txt.tar.bz2
>
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> The broker is granting credit to AMQP senders before it has processed and 
> settled (accepted) incoming messages.  When the client sends enough messages 
> to the broker to have crossed the 70% mark that it uses as a replenishment 
> threshold the broker is immediately granting more credit regardless of having 
> actually enqueued and sent the settlement disposition to the sending client 
> thereby essentially granting infinite amounts of credit to a sending client 
> as it bombards the broker with messages. 
>  Small log snippet showing broker dispositions working at a significant 
> backlog compared to flows it is sending:
> {code:java}
> <- AMQP: Disposition{role=RECEIVER, first=528649, last=528649}
> -> AMQP: Transfer{handle=0, deliveryId=594049, deliveryTag={539299}}
> <- AMQP: Flow{nextIncomingId=594014, incomingWindow=2147483647, 
> nextOutgoingId=1, outgoingWindow=2147483647, handle=0, deliveryCount=594013, 
> linkCredit=1000, available=0, drain=false, echo=false, properties=null}
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to